Summary
P0128 means the engine is not reaching normal operating temperature fast enough. The most common cause is a stuck-open thermostat (75% of cases), followed by a faulty engine coolant temperature (ECT) sensor (15%) and low coolant level (5%). The fix is usually a thermostat replacement ($15–$50 part, 30–60 min job), which resolves the vast majority of P0128 cases.
Severity: Low to Moderate
Safe to drive: Yes — but fuel economy and emissions suffer
Repair cost: $15–$250 depending on cause
DIY difficulty: Moderate
What does P0128 mean?
When you start a cold engine, the PCM expects the coolant temperature to rise to a target temperature (typically 160–200°F / 71–93°C depending on the vehicle) within a calculated time window based on ambient temperature, engine load, and RPM. The thermostat should be closed during warm-up, trapping coolant in the engine block so it heats up quickly.
P0128 sets when the coolant temperature doesn't reach the expected threshold within that window. The most common reason: the thermostat is stuck open, allowing coolant to circulate through the radiator from startup, which prevents the engine from warming up efficiently.
This code is more common in cold climates and during winter months, where the larger temperature gap makes a marginally stuck thermostat fail the PCM's warm-up check.