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
- A thermostat stuck open
- A faulty engine coolant temperature (ECT) sensor
- Low coolant level
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
- Temperature gauge reads lower than usual
- Weak heat from the heater in cold weather
- Lower fuel economy
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
- 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).
- 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.
- 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.
LAUNCH CR319 OBD2 Code Reader & Emissions Readiness Tester$24.99at LAUNCH X431 Online
LAUNCH CR529 OBD2 Code Reader with Live Data Stream$45at LAUNCH X431 Online
Autel MaxiLink ML529$52at AUTELOnline
AutoLink AL319$59at AUTELOnline
MaxiAP AP2500E$60at AUTELOnline
LAUNCH Creader VII+ Code Reader for Engine, ABS, SRS & Transmission$119at LAUNCH X431 Online 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.