Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)
The P0128 indicates that the PCM has received a coolant temperature reading from the ECT sensor that is lower than normal, after a significant period of engine operation.
Code Set Parameters
ECT sensor readings that occur after the OBD-II system has gone into closed loop operation, and are lower than the manufacturer’s specified value, will cause a trouble code to be stored and a malfunction indicator lamp to be illuminated.
In most cases there will be no noticeable symptoms and possibly not even a service engine soon lamp (until the third drive cycle - which may or may not occur).
This could be caused by insufficient engine warm-up time, a faulty coolant temperature sensor, a low engine coolant condition, or a faulty thermostat.
The most common misdiagnosis is replacement of the ECT sensor, when a low engine coolant level is to blame.
- First, check to make sure that the engine is full of a suitable coolant ant that the thermostat is operating properly
Begin your diagnosis by visually inspecting all wiring and connectors
- Look for shorted or burned wiring and replace circuitry and connectors as required
If the system wiring, connectors, and components appear to be in normal working order, connect the scanner to the diagnostic connector and record all stored trouble codes and freeze frame data
- This information can be extremely helpful in diagnosing intermittent conditions that may have contributed to this code being stored
- After the codes are cleared, operate the vehicle to see if the code returns
- If the code fails to immediately return, you may have an intermittent condition
- Intermittent conditions can prove to be quite a challenge to diagnose and in extreme cases may have to be allowed to worsen before a correct diagnosis can be made.
Check the fan clutch (if equipped)
- This code is frequently set because the driver does not allow sufficient engine warm up time (especially in cold weather)
- Resetting the code and seeing if it returns is a good idea when this code is displayed.