P0128: Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)

Updated November 12, 2026

The engine is taking too long to reach its normal operating temperature. The most common cause is a thermostat stuck partly open.

COMPZA may earn a commission when you buy through links on this page, at no extra cost to you. How we make money.

🔧 Want to check this yourself? An OBD2 scanner reads the code; models with live data also show the sensor readings used in the checks below. See code readers and scanners from $24.99 ↓ · Which scanner do I need?

Common causes

Code meanings can vary slightly by manufacturer. Use these as a starting point and confirm with your vehicle's service information or a mechanic before replacing parts.

Symptoms

Is it safe to drive?

Usually drivable, but the engine runs less efficiently and the heater may not work well.

How to check it with a scanner

  1. Plug an OBD2 scanner into the port under the dashboard and read all stored codes and the freeze-frame data (the conditions when the code set).
  2. Check the coolant level when the engine is cold.
  3. Watch coolant temperature in live data during warm-up; it should climb steadily to the normal range.
  4. Compare the ECT sensor reading with the dash gauge.
  5. After a repair, clear the code and drive normally for a few days to confirm it doesn't come back.

A basic code reader shows the code; scanners with live data let you watch sensor readings, which is what you need for most of the checks above. See OBD2 scanners under $100.

Code readers and scanners in stock

From partner stores' live product feeds. Check that the tool covers your vehicle's make, model and year on the retailer's page before you buy.

Affiliate links. AUTELOnline prices updated Nov 15, 5:03 AM EST · LAUNCH X431 Online prices updated Nov 15, 4:03 AM EST.

Search eBay for your vehicle

Affiliate links: COMPZA may earn a commission from qualifying eBay purchases at no extra cost to you. Add your vehicle in eBay's parts finder to see parts that fit.

Questions

What does P0128 mean?

P0128 is the generic OBD2 code for "Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)." The engine is taking too long to reach its normal operating temperature. The most common cause is a thermostat stuck partly open.

Is it safe to drive with P0128?

Usually drivable, but the engine runs less efficiently and the heater may not work well.

How do I check P0128 myself?

Read the code and freeze-frame data with an OBD2 scanner, then: Check the coolant level when the engine is cold. Watch coolant temperature in live data during warm-up; it should climb steadily to the normal range. Compare the ECT sensor reading with the dash gauge.

Related codes

📬 Get the weekly deals email

One email a week with the best current deals from our partner stores: home, kitchen, tech, car and gifts. No spam, unsubscribe anytime.

Emails include affiliate links; COMPZA may earn a commission at no extra cost to you. See our privacy policy.