It's possible to have an intermittent code. Try checking for codes while the engine is cold, then again at operating temperature.
Other possibilities is the computer is telling the engine to run at fast idle because of faults with temperature readings simulating cold weather. This would be the Air Charge Temperature sensor (ACT), located near the air filter or the Engine Coolant Temp sensor (ECT). You should have two of these located near the thermostat. The 2 wire one is for the gauge and the 3 wire one is for the computer. Sunpro sensor tester is a valuable tool in these situations. Easier to use than a volt meter.