P0128 — Coolant Thermostat Below Regulating Temperature
P0128 means the engine is running colder than it should. Nothing will break today, but a cold engine uses more fuel, wears faster, and will not complete the emissions monitors an inspection requires. The thermostat is the usual cause.
The engine runs normally and there is no risk of damage from running cold in the short term. Expect worse fuel economy, a heater that never gets properly hot, and readiness monitors that will not complete. This code will cause an emissions test failure.
What P0128 means
The module knows roughly how long an engine should take to reach operating temperature given the outside air temperature and how far it has been driven. It compares that model against the coolant temperature sensor, and sets P0128 when the real engine falls short. A thermostat stuck open lets coolant circulate through the radiator before the engine is warm, so it never gets there — but a sensor reading low produces the same code without the engine actually being cold.
| System | Powertrain — cooling and temperature |
|---|
Symptoms you may notice
What causes P0128
Thermostat stuck open
The thermostat should stay shut until the engine is warm, forcing coolant to circulate only within the engine. Stuck open by age or debris, coolant flows to the radiator from the first minute and the engine never reaches its regulating temperature. This is the cause in the large majority of cases.
Coolant temperature sensor reading low
The module has no way to feel the engine — it only sees the sensor. A sensor drifting low, or wiring with high resistance, reports a cold engine that is actually at temperature. The tell is a temperature gauge and a heater that both behave normally while the code is set.
Common misdiagnosis
Compare the scanner's coolant reading against an infrared thermometer on the thermostat housing before replacing the thermostat. Replacing it on a sensor fault changes nothing.
Low coolant level
If the level has dropped enough that the sensor is not fully immersed, its reading becomes erratic and low. Low coolant is itself a symptom of a leak, so finding it here means there is a second fault to trace.
Cooling fan running when it should not
A fan relay stuck closed, or a fan commanded on by another fault, pulls heat out of the radiator continuously. In cold weather this alone can stop an engine reaching temperature.
How to diagnose it
Check the coolant level cold
With the engine completely cold, check the level in the expansion tank against the marks. Top up only if low, and note that a low level means there is a leak to find.
Safety
Never open a cooling system that is hot. The coolant is above its boiling point under pressure and will scald.
Watch coolant temperature climb on the scanner
Start from cold and watch the coolant temperature reading in live data. A healthy engine climbs steadily and settles in its regulating band, typically around 88 to 100 degrees Celsius depending on the vehicle.
Compare the sensor against a real measurement
With the engine warm, measure the thermostat housing temperature with an infrared thermometer and compare it against the scanner reading. They should agree within a few degrees.
Feel the upper radiator hose during warm-up
From cold, the upper hose should stay cool until the thermostat opens, then warm up quickly. A hose that warms gradually from the first minute indicates the thermostat is not closing.
Safety
The hose becomes hot enough to burn once the thermostat opens. Touch briefly and stay clear of the belts and fan.
Related codes
Common questions
Can I keep driving with P0128?
Yes. Running cold does not damage the engine in the short term. You will use more fuel, the heater will underperform, and the vehicle will not pass an emissions test until it is fixed.
Why did the code appear in winter?
The module accounts for outside air temperature, but a thermostat that is only slightly stuck open may still reach temperature in summer and fail to in cold weather. Winter often exposes a fault that was already there.
Should I replace the thermostat straight away?
Not before comparing the sensor reading against an actual measurement. A sensor drifting low produces the same code, and replacing the thermostat will not clear it.
Last verified 2026-07-27 · Sources: SAE J2012 — Diagnostic Trouble Code Definitions and Failure Type Byte (SAE International)
This information is for general guidance and is not a substitute for professional diagnosis. Cost figures are estimates, not quotes.