Powertrain (P-codes)Cooling System

P0128

Coolant Thermostat (Coolant Temperature Below Regulating Temperature)

Low severity Easy to diagnoseLast verified: July 2026

What P0128 Means

P0128 means the engine coolant temperature hasn't reached the PCM's expected regulating temperature within a calibrated time after startup, which almost always points to the thermostat failing to close properly or being stuck partially open. The thermostat's job is to block coolant flow to the radiator until the engine reaches operating temperature, then open to allow cooling once that threshold is hit. When it's stuck open — even partially — coolant continuously circulates through the radiator from the moment the engine starts, so the engine takes far longer than normal to warm up, or never fully reaches its target operating temperature at all. This code is rated lower severity than most on this list because a stuck-open thermostat doesn't put the engine at risk of overheating — if anything, the opposite. But it does mean the engine runs colder than designed for extended periods, which increases fuel consumption, accelerates internal wear, and can affect cabin heater performance in cold weather.

Common Causes

  • Thermostat stuck partially or fully open, allowing constant coolant flow to the radiator
  • Failed thermostat spring or wax pellet mechanism no longer closing properly as it ages
  • Faulty engine coolant temperature (ECT) sensor giving an inaccurate low reading
  • Low coolant level affecting the sensor's ability to read an accurate temperature
  • Cooling system air pocket preventing proper coolant circulation and even heating
  • Wiring or connector fault at the ECT sensor

Symptoms You Might Notice

  • Check Engine Light on, often the only obvious symptom in mild cases
  • Engine takes noticeably longer than usual to warm up
  • Poor cabin heater performance, especially at idle or low speed in cold weather
  • Slightly reduced fuel economy as the engine runs its cold-start enrichment fuel map longer than necessary
  • Temperature gauge reading lower than normal or fluctuating rather than settling

What to Check First

  1. 1

    Check coolant level and top up if low, then bleed the cooling system if an air pocket is suspected

  2. 2

    Use a scan tool to monitor live coolant temperature from startup, noting how long it takes to reach normal operating temperature (typically within 5-10 minutes of driving)

  3. 3

    Feel the upper radiator hose after the engine has been running for several minutes — if it stays cool while the engine warms up, the thermostat likely isn't closing

  4. 4

    Test the ECT sensor's resistance at a known temperature and compare against factory specification to rule out a sensor fault before replacing the thermostat

  5. 5

    Replace the thermostat if it's confirmed stuck open, which is the most common fix, then clear the code and confirm normal warm-up time on a subsequent drive

Frequently Asked Questions

Is P0128 an emergency?

No — it's one of the lower-urgency codes since it means the engine is running cooler than intended, not overheating. It's still worth fixing reasonably soon for fuel economy and heater performance, but it won't strand you or damage the engine if driven for a while longer.

How much does a thermostat replacement typically cost?

It's generally one of the more affordable cooling system repairs, though labor cost varies depending on how accessible the thermostat housing is on a given engine.

Why is my heater blowing cold air with this code?

The cabin heater relies on hot engine coolant passing through a heater core to warm the air blown into the cabin. If the thermostat is stuck open and the engine never reaches full operating temperature, the coolant simply isn't hot enough to produce good heat.

Reviewed by Emmanuel Erere, Auto Mechanic. Causes and diagnostic steps checked for workshop accuracy.

More Free Tools

Explore All Codes

Browse every common OBD-II diagnostic trouble code, grouped by system.

View all OBD-II codes