Was this article helpful?
Heater blowing cold: seven causes in order of cost — from free to expensive
In winter this is not a comfort question but a visibility one — a fogged, iced windscreen. The causes in ascending order of cost, and a ten-minute check through live data.
A cold heater in winter is not about comfort. It is about a fogged and iced windscreen — that is, about visibility.
The good news: most causes can be checked without dismantling anything, and the first one is free.
Start with one parameter
Before any theories, read coolant temperature in live data on a warm engine. That immediately splits every cause into two groups.
| Temperature | Cause group |
|---|---|
| 185–205 °F | Engine is hot; the problem is in the heater side |
| 140–170 °F | Thermostat |
| Unstable, jumping | Air in the system or low level |
| Below 120 °F | Thermostat stuck open |
One number eliminates half the possibilities. Now by group.
If the engine never warms up
1. Thermostat stuck open (most common)
Coolant circulates through the main circuit continuously and never gets hot. The engine reaches 160 °F and stays there.
The code is P0128, “coolant below regulating temperature”. The sign without a scanner: the temperature gauge rises slowly and falls on the highway — airflow cools it further.
A thermostat is an inexpensive part, and that is where the good news ends: everything below costs more.
2. Low coolant level
The heater core sits high in the system, so it runs dry first when the level drops. The engine may not yet be overheating.
The symptom is distinctive: the heater is warm at speed and goes cold at idle. The check is the expansion tank level when cold. Leak causes are in their own guide.
If the engine is hot and the heater is cold
3. An air lock
The classic after a coolant change, a water pump repair, or a radiator replacement. Air collects at the highest point — which is the heater core.
Signs: gurgling behind the dashboard, heat that comes and goes, jumping temperature. Cured by bleeding the system, at no cost.
4. A blocked heater core
Scale and the breakdown products of old coolant clog the narrow passages. Especially fast if cooling system sealant was ever poured in.
The test is simple and reliable: both heater hoses should be hot. One hot and one barely warm means the core is not flowing.
5. The blend door or its actuator
The coolant is hot, the core is hot, and the air is cold — so the door is not directing flow. A failed motor, a slipped cable, stripped gears.
The sign: air temperature does not change at all however far you turn the dial. Or it heats one side of the cabin and not the other.
On modern cars the actuator sits on the LIN bus, and no codes reach the diagnostic port — see the LIN guide.
6. The water pump
A destroyed or slipping impeller. Coolant barely circulates: the engine runs closer to overheating and the heater stays cold. The most worrying of the “heater” causes.
7. The head gasket
Last and most expensive. Combustion gases enter the cooling system and form air locks that will not clear.
Signs: the tank level rises with the engine running, bubbles in the tank, white vapour from the exhaust, coolant smelling of exhaust. Combined with a cold heater, this is serious.
A ten-minute check sequence
- Live temperature when warm — the main divider.
- Coolant level in the tank when cold.
- Both heater hoses by hand: both hot or not.
- Turn the temperature dial and see whether the air changes at all.
- Compare idle against 2000 RPM — a difference points at level or pump.
- Look into the tank with the engine running: bubbles mean something serious.
Prevention
- Change coolant on schedule — scale in the heater core comes from old coolant.
- Do not pour sealant into the cooling system without real need: it blocks a heater core more reliably than any scale.
- In winter run the heater at maximum for a few minutes weekly so the blend doors do not seize.
- Watch temperature in live data rather than the gauge: on many cars the needle parks in the middle across a wide range.
In short
- Step one is live temperature; it halves the possibilities.
- The engine not reaching 195 °F means the thermostat, which is the cheapest fix.
- Both heater hoses should be hot; one warm means a blocked core.
- Warm at speed and cold at idle means coolant level.
- Bubbles in the tank with the engine running means the head gasket.
Download the app — coolant temperature and cooling system codes are read with an ELM327 adapter over Bluetooth SPP on Android.
Comments …
Loading…