P0128: OBD-II code P0128 means the engine is not reaching operating temperature within the expected time — almost always a stuck-open thermostat.
LowPowertrainEngine/Powertrain
Symptoms
- The check engine light illuminates after the engine has been running for a while, especially in cold weather.
- The temperature gauge never rises to normal operating range, or takes far longer than usual to warm up.
- Cabin heat output is weak or slow because the coolant never reaches the temperature the heater core needs.
Common causes
- A stuck-open thermostat that lets coolant circulate through the radiator before the engine reaches operating temperature.
- A faulty engine coolant temperature (ECT) sensor reading falsely low values to the PCM.
- Cold ambient temperatures combined with extended idle or short trips — a condition-based fault, not always a hardware issue.
What to do?
Verify the ECT sensor reads accurately against an infrared thermometer on the thermostat housing. If the sensor is good, replace the thermostat with an OEM-spec part (aftermarket thermostats often fail this test). Refill and bleed the coolant properly. Confirm the engine reaches about 195 °F within 10-15 minutes of driving.