Skip to content
Skip to content

OBD-II Code · Cooling

P0128

Coolant Temperature Below Thermostat Regulating Temp

Severity

low

Lowest on our scale. Fix it when convenient.

Can you drive it

Only if running normally

A short trip to a shop may be reasonable if the light is steady and the car runs normally. Stop safely for a flashing light, severe shaking, overheating, loss of power, or another urgent warning. The code alone cannot confirm safety.

Indicative cost (USD)

$50–$250

Varies by vehicle, diagnosis, parts, and local labor. This is not a repair quote.

For thermostat replacement

The engine isn't warming up to its target operating temperature within a reasonable time. Almost always a stuck-open thermostat.

How a shop works this

Work from evidence to part, not the other way round. A code names a circuit or a symptom; it does not name the part that failed.

  1. Note every code that is set, not just this one.

    Codes that appear together usually narrow the cause faster than any one of them read alone.

  2. Read the freeze frame — the conditions the fault was recorded under.

    Cold or warm, idle or load, road speed and engine speed. A fault that only appears cold is a different fault from one that only appears under load, even with the same code on the scanner.

  3. Confirm the fault is current rather than history.

    Clear the code and see whether it returns under those same conditions. A code that does not come back may have been logged during a repair, a flat battery, or a bad connection that has since been disturbed.

  4. Then work the likely-causes list in the order shown.

    That order is what a shop checks first for this code — wiring and connections before the component they run to, because a connector costs nothing to inspect and is a common answer.

If the code comes back after a repair, the underlying fault is still there. That is the point to bring in a scanner with live data and freeze-frame, or a shop that has one.

Common symptoms

  • Check engine light
  • Heater takes longer to get hot
  • Slightly reduced fuel economy
  • Temperature gauge reads cold

Likely causes

  • Stuck-open thermostat (95% of cases)Most common
  • Faulty coolant temp sensor
  • Low coolant
Read the full diagnostic procedureP0128 is the most common cooling-system code in OBD-II history, and it almost always means a stuck-open thermostat.

P0128 is the most common cooling-system code in OBD-II history, and it almost always means a stuck-open thermostat. The PCM uses an internal model (ECT delta over time, IAT, vehicle speed, fuel used) to predict when coolant should reach the regulating temperature, and when actual ECT lags that model by more than a calibrated margin the code sets.

Cheapest-first, in this order

  1. confirm ECT is reading honestly - backprobe the signal, it should be about 0.5 to 1.0 V at 200 F;
  2. cold-start the vehicle and watch ECT live, a healthy thermostat shows ECT pause at the regulating temperature (about 195 F on most GM/Ford/Chrysler, 180 F on Subaru, varies by maker) within 7-10 minutes of idle;
  3. if ECT climbs slowly and tops out at 160-180 F regardless of load, the thermostat is stuck open. Confirm by feeling the upper radiator hose during warm-up - it should stay cool until the t-stat opens, then warm rapidly. A hose that warms gradually from the first minute means the thermostat is not sealing closed. Caveat: aftermarket low-temperature thermostats will set P0128 even when mechanically perfect.
Vehicle-specific patterns1996-2005 GM 3.1L/3.4L/3.8L V6 (Impala, Malibu, Grand Prix, Venture, Lumina) is THE famous P0128 platform - the stamped-steel OE thermostat sticks op…
  • 1996-2005GM 3.1L/3.4L/3.8L V6 (Impala, Malibu, Grand Prix, Venture, Lumina) is THE famous P0128 platform - the stamped-steel OE thermostat sticks open as a wear item and a $25 Stant 14689 or AC Delco 131-139 with new gasket is the fix.
  • 1999-2007GM 4.8/5.3/6.0 LS trucks set P0128 from the same root cause with the GM 131-87 thermostat assembly.
  • 2002-2008Dodge Ram 4.7L V8 has a TSB for the dual-stage thermostat sticking open.
  • 2001-2007Ford Escape 3.0L Duratec sets P0128 routinely from a $30 Motorcraft RT-1170 thermostat.

Estimated repair$25 to $180.

Look up another code

P0128 — frequently asked

What does a P0128 code mean?

The engine isn't warming up to its target operating temperature within a reasonable time. Almost always a stuck-open thermostat.

What causes a P0128 code?

Common causes: Stuck-open thermostat (95% of cases); Faulty coolant temp sensor; Low coolant.

What are the symptoms of a P0128 code?

Typical symptoms: Check engine light; Heater takes longer to get hot; Slightly reduced fuel economy; Temperature gauge reads cold.

Is it safe to drive with a P0128 code?

Only if running normally. A short trip to a shop may be reasonable if the light is steady and the car runs normally. Stop safely for a flashing light, severe shaking, overheating, loss of power, or another urgent warning. The code alone cannot confirm safety. Estimated repair: $50-$250 for thermostat replacement.

How do I diagnose a P0128 code?

Work from evidence to part, not the other way round. A code names a circuit or a symptom; it does not name the part that failed. 1. Note every code that is set, not just this one. 2. Read the freeze frame — the conditions the fault was recorded under. 3. Confirm the fault is current rather than history. 4. Then work the likely-causes list in the order shown.

More free tools

See all 9 tools