Code P0128 - Coolant Temperature Below Thermostat Regulating Temperature

Updated: July 31, 2021
The code P0128 - Coolant Temperature Below Thermostat Regulating Temperature means that the engine does not reach expected temperature after running for sufficient time, or in other words, it takes too long to warm up. Often this code causes the Check Engine light to come on and off in cold temperatures.


With the code P0128 there could be no symptoms at all, or any of the following:
- Engine takes too long to warm up in cold weather
- Engine temperature drops when driving on the highway, especially in cold weather
- Air conditioner and (or) temperature gauge stops working and (or) after the Check Engine light comes on (GM).

Is it safe to drive with the code P0128?

If the vehicle runs well, the coolant level is OK, there is enough heat and no other driveability problems, it's possible that the thermostat is sticking intermittently. In general, this is not a huge problem, although it might affect the gas mileage. We would still recommend having the vehicle checked out.


Coolant level is low Low coolant level Engine coolant temperature sensorCoolant temperature sensor
Common causes include:
- Faulty or sticky thermostat
- Thermostat seal is not sealing properly, allowing coolant to bypass a closed thermostat
- Faulty engine coolant temperature (ECT) sensor
- Engine computer (PCM) software needs to be updated
- Low coolant level
- Radiator fan does not turn off
- Faulty intake air temperature (IAT) sensor.

How the code P0128 is diagnosed:

Engine temperature Checking the engine temperature with Torque app.
First, a basic check under the hood must be performed: is the coolant level OK? Is the engine coolant temperature sensor connector free from corrosion and plugged in properly? Are there any service bulletins? The next step is to see if the engine temperature sensor is working correctly. If you have a scan tool with live data, check the engine temperature when the engine is cold, it should be close to outside temperature. Drive a car for 10 minutes and check the engine temperature again, it should be close to 180-220°F or 82-105°C. See the photo.
Without a scan tool, the engine temperature sensor can be tested with an ohmmeter. The resistance across the sensor terminals should change with the temperature according to the chart that you can find in a factory service manual. Read more: Engine coolant temperature sensor: how it works, symptoms, problems, testing.
Testing the thermostat is difficult, as it may work most of the time, but sticks intermittently. In most cases, whenever the code P0128 is present, the thermostat is replaced. In some cars, the problem could be solved by reprogramming the engine computer (PCM) with an updated software. This can be done at your local dealer and costs from $80 to $120 if out of warranty. See common problems below.

Common problems causing the code P0128 in different cars:

In many GM cars and trucks (Chevrolet Trailblazer, Silverado, HHR and other models) the code P0128 is often caused by a sticking thermostat. In some GM cars when the code P0128 is set, the temperature gauge stops working and the radiator fans run constantly. Replacing the thermostat often solves the problem unless there are other issues.
The GM TSB dated 2007 recommends reprogramming the PCM as a solution for the code P0128 in 2006 Chevrolet Malibu, Impala, Pontiac G6, and a few other models.

The Nissan Technical Service Bulletin (TSB) for the 2007 Nissan Altima and Sentra dated April, 2009 mentions checking the part number of the engine computer with the scan tool and reprogramming it if the part number matches one of the numbers listed in the bulletin.

In some earlier Mazda 3 and Mazda 5 model year vehicles, the code P0128 may be caused by improper calibration of the PCM (engine computer) according to the Mazda service bulletin. The solution is to reprogram the PCM with an updated software and in some Mazda 3s built prior to 2004 also replace the thermostat with an updated part.
Subaru service bulletin 09-56-13 for several 2013-2014 models, including the Legacy, Forester and Impreza, recommends replacing the thermostat and gasket if the code P0128 is present and all other possible causes have been ruled out.

We found a couple of Chrysler technical service bulletins for several Jeep and Dodge models that recommend reprogramming the PCM (engine computer) if the code P0128 is diagnosed.

Another Chrysler TSB for 2009-2010 Dodge Challenger and 2008-2010 Dodge Magnum/Charger and Chrysler 300 describes a problem where the thermostat may move out of place, allowing coolant to pass through and set the code P0128. The solution is to add a shim and replace the thermostat housing with an updated part.

How the thermostat works

A thermostat is a temperature-operated valve installed in the vehicle cooling system. It controls the coolant flow through the radiator and helps and prevents it from overheating. Read more: Thermostat: how it works, symptoms, problems, testing. In many modern cars, the thermostat is electronically controlled.