Code explained

P0128: your engine is warming up too slowly

P0128
In plain words
The engine takes too long to warm up, often a thermostat stuck open.
Standard name
Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)
System
Engine cooling

General information, not a mechanic's diagnosis: have a mechanic confirm before any repair.

What the computer saw

After a cold start the computer watches the coolant temperature. If the engine takes longer than expected to reach the temperature the thermostat should hold, it sets P0128. The thermostat is a valve that keeps coolant away from the radiator until the engine is warm; when it sticks partly open, the engine is cooled before it has warmed up.

Likely causes, most common first

  1. A thermostat stuck open or opening early. The most common cause. Thermostats wear, and one that never fully closes lets the radiator cool the engine from the start.
  2. A coolant temperature sensor that reads low. If the sensor reports a cooler engine than the real one, a good thermostat can fail the test.
  3. Low coolant. With too little coolant around the sensor, its reading can lag behind the engine.
  4. A cooling fan that runs all the time. A fan that never switches off keeps pulling heat out of the radiator, even when the engine is still cold.

What you can note yourself

  • Whether the temperature gauge sits lower than it used to, or takes a long time to rise.
  • Whether the heater blows lukewarm air on a cold day.
  • Whether the light comes on mostly in cold weather or after long highway drives.

What to tell the shop

  • All the codes, including any pending ones.
  • Ask whether they compared the sensor's reading with the engine's real temperature before replacing the thermostat.
  • Any recent cooling work, such as a coolant change or a new radiator.

This page gives no verdict on whether a car is safe to drive; a mechanic can.

Questions people ask next

Why does P0128 often show up in cold weather?

Cold air, and air rushing through the radiator at highway speed, pull heat out of an engine whose thermostat is not fully closed. The engine then takes longer to warm up, and the computer's test fails.

Will a new thermostat always clear P0128?

Often, but not always. If the coolant temperature sensor reads low, or the cooling fan never switches off, the code can come back after a new thermostat.

Is P0128 a generic code?

Yes. A code that starts with P0 has the same standard meaning on every make sold in the US since 1996, though the usual cause can differ by engine.

Related pages

Look up other codes