- System
- Powertrain
- Type
- Generic (SAE)
- Subsystem
- Fuel and air metering
- Urgency
- Drive carefully
Trouble code
P0128 code: Coolant thermostat below regulating temperature
Published
Short answer
P0128 means the engine coolant did not reach the expected temperature within the time the engine computer allows. The most common cause is a thermostat stuck open or opening too early. A faulty coolant temperature sensor, low coolant or a cooling fan that runs all the time can also cause it. It is not urgent, but it hurts fuel economy and heater output.
Scan tools that read P0128 and more
All 7 picks compared
TOPDON ArtiDiag600 Pro: all systems, 9 services
See price on AmazonSee it on Amazon
THINKCAR THINKSCAN 662: active tests under $200
See price on AmazonSee it on Amazon
Autel MaxiDiag MD906 PRO: all systems, 11 services
See price on AmazonSee it on Amazon
This page is for drivers with a P0128 code, often in cold weather, and often with a heater that blows lukewarm air. P0128 is usually a straightforward repair. Below we explain what the code means, the symptoms, the causes in the order to check them, how to confirm the problem using live data on a scan tool, and whether you can keep driving. If you are not sure how to pull codes yet, start with how to read OBD2 codes.
What P0128 means
P0128 is a generic SAE code: Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature). The engine computer uses the engine coolant temperature (ECT) sensor to watch how fast the engine warms up. It estimates how long warm-up should take based on things like the starting temperature, outside air temperature and how the car is driven.
If the coolant has not reached a set temperature within that time, the computer decides the thermostat is not holding heat in the engine and sets P0128. The exact temperature and time vary by manufacturer. Use our code decoder to check related codes.
Symptoms of P0128
Many drivers first notice P0128 in fall or winter, when a weak thermostat cannot hold heat against cold outside air.
- Check engine light on
- Temperature gauge reads lower than normal or takes a long time to rise
- Heater blows lukewarm or cool air, especially at highway speed in winter
- Lower fuel economy, since a cold engine runs a richer mixture
- Readiness monitors that will not complete on some vehicles
Common causes of P0128
A thermostat stuck open is the most common cause. Check coolant level first, because it is free to check.
| Cause | How to check | Typical fix |
|---|---|---|
| Low coolant level | Check the overflow tank and, with the engine cold, the radiator | Top up with the correct coolant and look for leaks |
| Thermostat stuck open or opening early | Watch ECT in live data during warm-up; feel the upper radiator hose getting warm early | Replace the thermostat |
| Faulty coolant temperature sensor | Compare ECT with intake air temp on a cold engine; check for ECT circuit codes | Replace the ECT sensor |
| Cooling fan running all the time | Check if the fan runs on a cold engine; check the fan relay | Replace the stuck relay or repair the control circuit |
| Faulty air temperature sensor | Compare intake or ambient air temperature reading to actual temperature | Replace the sensor |
| Wiring or connector problem | Inspect ECT sensor connector and wiring | Repair the wiring |
Note.Never open a radiator cap or coolant reservoir on a hot engine. Hot coolant under pressure can cause severe burns. Wait until the engine is cool.
How to diagnose P0128
Live data is the best way to diagnose P0128. Even an affordable scan tool or a Bluetooth OBD2 adapter with an app can graph coolant temperature.
- 1
Read all codes. Note any ECT sensor codes such as P0118, which point to the sensor circuit rather than the thermostat.
- 2
Check the freeze frame data. Look at coolant temperature, intake air temperature and vehicle speed when the code set.
- 3
With the engine cold, check the coolant level.
- 4
Start the cold engine and watch ECT in live data. On a cold engine, ECT and intake air temperature should read close to each other at first.
- 5
Let the engine warm up at idle and then drive. Coolant temperature should climb steadily and settle near normal operating temperature. If it rises slowly and stays low, especially at highway speed, the thermostat is likely open.
- 6
Carefully feel the upper radiator hose during warm-up. If it gets hot early, coolant is flowing to the radiator before it should.
- 7
If the temperature looks normal but the code still sets, test the ECT sensor and wiring per the service information.
How to fix P0128
In most cases the fix is a new thermostat and gasket or seal, plus refilling and bleeding the cooling system. Use a thermostat with the correct opening temperature for your engine. Some engines have the thermostat built into a housing, and some need a special bleeding procedure to remove air. Check the service information for your vehicle.
After the repair, clear the code and drive normally. The thermostat monitor needs a cold start to run, so it can take a day or two before it shows complete. See readiness monitors explained and drive cycle after clearing codes.
Can you drive with P0128?
Yes, in most cases. A thermostat stuck open lets the engine run cooler than intended, which reduces fuel economy, heater output and defroster performance, and may increase wear over time. It will also fail an OBD2-based emissions inspection. Fix it when convenient. If the temperature gauge ever reads high instead of low, stop and check the cooling system, because that is a different problem. See can you drive with the check engine light on.
Related codes
Codes that may appear with P0128 or affect the same sensors: P0118 (ECT sensor circuit high), P0171 (system too lean) and P0420 (catalyst efficiency). Readiness issues are covered in readiness monitors explained.
Frequently asked questions
Is P0128 always the thermostat? No, but it is the most common cause. Check the coolant level and confirm with live data before replacing parts. A faulty coolant temperature sensor or a fan that never shuts off can also set it.
Why does P0128 show up in winter? Cold air removes more heat from the engine. A thermostat that is slightly open may still let the engine warm up in summer but not in winter, so the code appears when it gets cold.
Can low coolant cause P0128? Yes. If the coolant level is low, the temperature sensor may not be surrounded by coolant and can read wrong. Low coolant also means there is a leak to find.
Will P0128 hurt my engine? It is not an urgent threat, but running cold lowers fuel economy and heater output. Fix it when convenient.
What you need for this
See price on AmazonAmazonTOPDON ArtiDiag600 Pro: all systems, 9 services
From Best OBD2 scanners for DIY mechanics who fix their own cars
See price on AmazonAmazonXTOOL D7W: WiFi VCI, 4000+ active tests
See price on AmazonAmazonXTOOL D7S: CAN FD for newer GM, crankshaft relearn