I cleaned the IACV - it was pretty gunked up. It improved a lot, but was still lumpy and has refused to start a few times. After further investigation, I found that the connector to a temperature sensor on the coolant rail was loose to touch, so I separated the spade connector and gave it a nip up. This appears to have made it start on the button both hot and cold. I'll keep an eye on it to see if it solves the problem long term. Thanks for your input Smiffy - it helped me no end.