The heater works off of engine coolant which gets cooler when at idle.
The temperature is kept at operating temperture by the thermostat so it does not cool down too much at idle. More than likely you need to replace the thermostat which is probably stuck open.
SPONSORED LINKS
Thursday, November 17th, 2011 AT 3:48 PM