HomeTrouble CodesP0128

P0128 — Coolant Thermostat Coolant Temperature Below Thermostat Regulating Temperature

Generic OBD-II · all makesPowertrain (engine & transmission)

P0128 indicates the engine coolant temperature (ECT) sensor is reading below the thermostat's expected regulating temperature. This means the engine is not reaching normal operating temperature within the expected time after startup, often because the thermostat is stuck open or the coolant system has a fault.

Symptoms

What causes it — most likely first

1. Faulty thermostat (stuck open)

The most common cause. A thermostat that fails to close properly keeps the coolant circulating through the radiator continuously, preventing the engine from reaching normal operating temperature.

2. Low coolant level

Insufficient coolant reduces the system's ability to retain heat, causing the engine to run cooler than the thermostat rating.

3. Faulty ECT sensor

The engine coolant temperature sensor may be reading incorrectly low, triggering the code even when the engine is actually at proper temperature.

4. Radiator fan running constantly

An electric cooling fan that runs continuously (due to faulty fan clutch, relay, or wiring) can excessively cool the engine.

5. Coolant leaks or air in system

External leaks or trapped air in the cooling system can cause low coolant volume and improper temperature regulation.

6. PCM/ECM fault (rare)

A powertrain control module malfunction is extremely rare for this code and should only be considered after all other causes are ruled out.

How it's diagnosed

  1. Connect OBD-II scan tool and verify P0128 is present, noting freeze frame data
  2. Inspect coolant level and top up if low; check for visible leaks
  3. Physically test thermostat operation by monitoring temperature rise and checking if it opens/closes at specified temperature
  4. Test ECT sensor for correct resistance and voltage values compared to specifications
  5. Check radiator fan operation and verify fan clutch function (if mechanical)
  6. Verify actual coolant temperature with an infrared thermometer against scan tool readings to confirm sensor accuracy

Code facts & related codes

SystemPowertrain (engine & transmission)
StandardizationSAE generic — identical on every make

Vehicles this code applies to

The definition is universal; the diagnostics are engine-specific. Open your vehicle for the codes documented for it:

2012 Nissan Juke2002 Hyundai XG2006 Nissan Quest2000 Infiniti Q45 (VINs to YM300000 or IM400000(Canada)1999 Infiniti Q452001 Hyundai Sonata2005 Honda Civic Hybrid2004 Honda Civic Hybrid1990 Lexus ES2501991 Lexus ES2501990 Toyota 4runner — L41990 Toyota 4runner — V6

Frequently asked

Is it safe to drive with P0128?

The vehicle can be driven short distances, but prolonged operation may result in poor fuel economy, increased emissions, and insufficient cabin heating. It should be repaired in a reasonable timeframe.

Do I need to replace the PCM/ECM for this code?

No. The powertrain control module is almost never the cause of P0128. The code is set based on temperature sensor input, and replacing the computer will not fix the underlying cooling system issue.

How much does repair typically cost?

Costs vary significantly by vehicle and location. A thermostat replacement typically involves parts and labor; coolant service and sensor replacement have separate costs. This is a common repair that many independent shops can perform.

Can a bad ECT sensor cause this code instead of the thermostat?

Yes, a faulty ECT sensor reading incorrectly low temperatures can trigger P0128. This is why proper diagnosis is important—the code indicates the temperature is too low, which could be due to either actual low temperature or a faulty sensor.