P0128 Code Meaning
The engine takes too long to warm up, which almost always points to a thermostat stuck open.
At a glance
Severity: Low
- Meaning
- Coolant Temperature Below Thermostat Regulating Temperature
- System
- Fuel & Air Metering · Powertrain
- Safe to drive?
- Yes, short term
- Typical repair cost
- $15–$600
- DIY difficulty
- Moderate
After a cold start, the PCM predicts how quickly coolant should warm up based on starting temperature, outside air temperature and how much air the engine has pulled in. If the coolant temperature sensor still hasn't reached a calibrated threshold (a little below the thermostat's rated opening temperature, most of which open around 180 to 205°F) by the time it should have, P0128 sets. By far the most common reason is a thermostat that is stuck partly open, so coolant flows through the radiator and gets cooled before the engine is warm. A sensor that reads lower than the real temperature can produce the same result.
Can I keep driving? Safe to drive, but don't put it off through the winter. An engine that runs cold burns more fuel, wears faster and gives weak cabin heat and slow windshield defrosting.
How to read P0128
- P Powertrain
- 0 Generic (SAE)
- 1 Fuel & air metering
- 28 Specific fault
Symptoms
- Check engine light on
- Heater blows lukewarm air, especially at highway speed in cold weather
- Temperature gauge rises slowly or sits lower than usual
- Noticeably worse gas mileage in cold months
- Long warm-up before the windshield defrosts
Possible causes
Ranked by how often each cause is behind this code (editorial estimate).
- Thermostat stuck partly open or opening too early
- Coolant temperature sensor reading lower than the actual temperature
- Low coolant level or an air pocket around the sensor
- Radiator fan running constantly (stuck relay or faulty fan control)
- Wrong thermostat installed (lower temperature rating than specified)
- High resistance in the coolant sensor wiring or connector
Diagnosis step by step
Check the coolant level on a cold engine
Never open the cap on a hot engine. With the engine cold, check the overflow tank and, if accessible, the radiator itself. A low level can leave the temperature sensor sitting in an air pocket, which makes it read low.
Tools: Flashlight
Log the warm-up curve
Start the engine cold and watch coolant temperature in live data during a normal drive. A healthy engine climbs steadily and settles somewhere around 190 to 220°F within about 10 to 15 minutes. If it stalls around 150 to 170°F or drops back on the highway, the thermostat is almost certainly stuck open.
Tools: OBD-II scanner
Feel the upper radiator hose
At a cold idle the upper radiator hose should stay cool until the engine reaches operating temperature, then get hot fairly quickly. If it warms up gradually right along with the engine, coolant is already flowing through a leaking thermostat. Keep hands clear of the fan and belts.
Tools: Gloves
Verify the coolant sensor reading
After the car has sat overnight, coolant and intake air temperatures in live data should match within about 5°F. On a warm engine, compare the scanner value with a thermometer reading at the thermostat housing; a large gap points to the sensor or its wiring.
Tools: OBD-II scanner, Multimeter
Make sure the fan isn't running cold
With a cold engine and the A/C off, the radiator fan should not run. A fan that runs constantly overcools the engine; check the fan relay and fan control commands in live data.
Tools: OBD-II scanner
Replace the thermostat correctly
Use a thermostat with the factory temperature rating and a new gasket, refill with the specified coolant type and bleed all air from the system. Afterward, log another warm-up to confirm the engine now reaches normal temperature.
Tools: Screwdriver, Torque wrench
Where the parts are
- 1MAF sensor
- 2Turbocharger
- 3Throttle body
- 4Intake manifold
- 5Fuel injector
- 6EGR valve
- 7Fuel pump
- 8Thermostat
Repair options & costs
| Repair | DIY? | Estimated cost |
|---|---|---|
| Top off coolant and bleed air | Yes | $15–$60 |
| Replace thermostat (simple housing) | Yes | $150–$350 |
| Replace thermostat housing assembly (integrated plastic unit) | No | $250–$600 |
| Replace coolant temperature sensor | Yes | $60–$200 |
| Replace stuck radiator fan relay | Yes | $20–$90 |
Rough US estimates for parts and labor; shop rates vary by region. Not a quote.
Notes by brand
Field data
| Chevrolet | 18 | Blazer, Camaro, Equinox | |
|---|---|---|---|
| GMC | 15 | Acadia, Acadia Denali | |
| Jeep | 12 | ||
| Hyundai | 7 | ||
| Chrysler | 5 | 200, Town And Country | |
| Dodge | 5 | Charger, Grand Caravan, Journey | |
| Ford | 3 | Escape, Escape Hybrid, Fusion | |
| Subaru | 2 | IMPREZA WRX/STI, Outback |
Source: NHTSA Complaints API (US government open data), analyzed by DTC mention.
Emissions / smog test impact
Will fail
P0128 turns on the check engine light, which fails an OBD-II emissions test in states that require one. Because the thermostat affects several monitors, drive a few full warm-up cycles after the repair before retesting.
Frequently asked questions
Why does P0128 usually show up in cold weather?
A thermostat that is only slightly open can still let the engine get warm enough in summer. In winter, cold air through the radiator removes much more heat, so the engine can't reach the threshold in time and the code sets.
My temperature gauge looks normal. Can it still be the thermostat?
Yes. Many dashboard gauges are buffered to sit in the middle across a wide temperature range, so they hide a cold-running engine. The actual coolant temperature in live data is what counts.
Can I install a cooler thermostat to help my engine?
No. A lower-rated thermostat will set P0128 on its own and hurts fuel economy and emissions. Always use the temperature rating the manufacturer specifies.
Could low coolant cause P0128?
It can. If the level is low, the sensor may sit in air or steam and report a lower temperature than the engine really has. If you keep losing coolant, find the leak before replacing the thermostat.