P0128 Code: Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)
In This Guide
One-line meaning: Your engine is running too cold. The coolant never reached its proper operating temperature within the expected time, usually because the thermostat is stuck open.
What the P0128 Code Means
The p0128 code means “Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature).” Think of it as the opposite of overheating: your engine never gets hot enough.
Here is how it works. Your engine is designed to run at roughly 195 to 220 degrees Fahrenheit. The thermostat is a temperature-controlled valve that stays closed while the engine warms up, blocking coolant flow to the radiator, then opens once operating temperature is reached. The computer watches how fast the coolant warms up after a cold start. If the temperature never reaches the expected range within the programmed time, usually 10 to 15 minutes of driving, it stores the p0128 engine code.
In about 8 out of 10 cases, the thermostat is stuck open. Coolant circulates to the radiator constantly, overcooling the engine so it never warms up properly. But the p0128 code can also be set by a faulty coolant temperature sensor reporting wrong readings, low coolant, or a cooling fan stuck on.
A cold-running engine is not just a comfort problem. The computer keeps the fuel mixture rich while the engine is cold, so fuel economy drops roughly 10 to 15 percent. Emissions rise, oil gets contaminated with fuel faster, and cabin heat stays lukewarm in winter. That is why the computer bothers to monitor warm-up at all.

Symptoms of the P0128 Code
The check engine light is often the only sign at first. But drivers with the p0128 code commonly notice:
- Temperature gauge reads low. The needle sits below the normal midpoint, climbs very slowly, or drops further at highway speed when maximum airflow hits the radiator.
- Weak cabin heat. Lukewarm air from the heater, especially noticeable in winter. If your heat never gets properly hot, suspect this code’s cause.
- Long warm-up time. The engine takes much longer than normal to reach operating temperature.
- Poor fuel economy. A cold engine runs rich, so you burn roughly 10 to 15 percent more fuel.
- Rough idle while cold. The engine may run unevenly until it finally warms up, which takes longer than it should.
- On some GM vehicles: dead gauge and constant fans. Certain GM models shut off the temperature gauge and run the radiator fans constantly once the p0128 code sets, which is alarming if you are not expecting it.
- Transmission holding gears. On some vehicles the transmission will not shift into its highest gear at highway speed until the engine reaches operating temperature.

Common Causes of P0128
- Thermostat stuck open (the dominant cause): The thermostat’s wax element or spring fails and the valve stays open permanently. Coolant flows to the radiator from the moment you start the engine. Mechanics report this is the fix in roughly 80 percent of p0128 code diagnoses.
- Low coolant level or air pockets: Low coolant means the temperature sensor may be reading air instead of liquid, and air pockets disrupt normal heat transfer. Always check the reservoir first, it is free.
- Faulty engine coolant temperature (ECT) sensor: The sensor itself can fail and report falsely low readings. The engine is actually warm, but the computer thinks it is cold. If your scan tool reads cold while the dash gauge reads normal, suspect the sensor, not the thermostat.
- Cooling fan or fan relay stuck on: A fan that runs constantly overcools the engine, especially at highway speed. Test the relay if the fan never cycles off.
- Damaged ECT wiring or corroded connector: Broken wires or green corrosion at the sensor connector corrupt the temperature signal.
- Faulty intake air temperature (IAT) sensor: The computer compares ECT and IAT readings on a cold start. A skewed IAT sensor corrupts the warm-up model.
- Wrong thermostat installed: A previous repair may have installed a lower-temperature thermostat than spec. The engine then regulates below the computer’s expected range and sets the p0128 engine code even though the thermostat works as designed.
- Cracked thermostat housing: Common on engines with plastic housings (GM Ecotec 2.2L/2.4L are notorious). A cracked housing leaks and disrupts normal thermostat operation.
- Outdated PCM software: Several manufacturers fixed false P0128 codes with a computer reprogram rather than parts. If your vehicle has a relevant technical service bulletin, the software update is the actual fix.

How to Diagnose P0128 (Do This Before Buying Parts)
- Let the engine cool completely. The cooling system is pressurized and dangerously hot when warm. Never open it hot. Do this diagnosis on a cold engine.
- Check coolant level and condition. Look at the reservoir. If it is low, top off with the correct coolant mix and look for leaks. Discolored or oily coolant points to bigger problems.
- Cold-start with live data. Connect your scan tool, start the cold engine, and watch the live coolant temperature. A healthy engine reaches roughly 185 to 205 degrees Fahrenheit within 10 to 15 minutes. If the reading climbs slowly and stalls around 150 to 160 degrees, the thermostat is stuck open. This single test confirms most p0128 code diagnoses.
- Compare gauge vs scanner. If the scan tool reads cold but the dashboard gauge reads normal, the ECT sensor is lying, not the thermostat. Replace the sensor, not the thermostat.
- Check fan behavior. The cooling fan should cycle on and off. If it runs constantly from a cold start, test the fan relay. A stuck relay overcools the engine and sets the code with a perfectly good thermostat.
- Test the ECT sensor. Back-probe the sensor with a multimeter. Its resistance must change smoothly as the engine heats up. A flat reading means a dead sensor. Also compare ECT and IAT readings on a cold start, they should roughly match.
- Inspect wiring. Check the ECT connector for corrosion and the wiring for damage before condemning any part.

How to Fix the P0128 Code
- Replace the thermostat: The fix in the large majority of p0128 code cases. Replace the gasket or O-ring with it, and use the correct temperature rating for your vehicle. A wrong-rating thermostat can set the code by itself.
- Top off coolant and bleed air: Fill to the correct level with the right coolant type, then bleed air from the system per your vehicle’s procedure. Air pockets cause false readings.
- Replace the ECT sensor: If live data proved the sensor was lying while the engine was actually warm, swap the sensor. It is usually a $25 to $60 part.
- Repair the cooling fan circuit: Replace a stuck relay or a fan that runs constantly.
- Repair wiring: Clean corroded connectors and repair damaged ECT wiring.
- Check TSBs for your vehicle: If a bulletin covers false P0128 on your model, the dealer reprogram is the fix, not parts.

P0128 Repair Costs
Repair costs for the p0128 code are refreshingly narrow compared to most check engine codes, because the fix is usually one part. Here is the breakdown:
| Repair | Cost Range |
|---|---|
| Thermostat replacement (shop) | $150 – $400 |
| Thermostat + gasket (DIY parts) | $20 – $120 |
| Thermostat on buried / housing-assembly designs | $400 – $750 |
| ECT sensor replacement | $100 – $250 |
| Coolant top-up / flush | $50 – $150 |
| Cooling fan replacement | $200 – $800 |
| Thermostat housing replacement | $200 – $450 |
| Diagnostic scan | $75 – $200 |
At a shop, expect roughly $150 to $400 for most cars, covering the part and one to two hours of labor. Do it yourself and the thermostat plus gasket typically costs $20 to $120. Prices climb on vehicles where the thermostat is buried deep or sold as part of a larger housing assembly. A DIY repair saves roughly $100 to $250 in labor, which is why the p0128 code is a favorite first DIY repair.
DIY vs Mechanic Verdict
DIY it if: the diagnosis points to the thermostat and it is accessible on your engine. A thermostat swap needs only basic hand tools: drain some coolant, remove the housing bolts, swap the thermostat and gasket, refill, and bleed air. The ECT sensor is even easier, usually one electrical connector and a single threaded sensor.
See a mechanic if: the thermostat is buried under the intake manifold or timing cover, the housing is part of a larger assembly, or the diagnosis is inconclusive between the thermostat and the sensor. Also see a pro if a TSB reprogram applies, that needs dealer equipment.
Verdict: P0128 is one of the best beginner DIY repairs. The part is cheap, the job is straightforward on most engines, and the live-data test gives you certainty before you buy anything. Budget an afternoon, most of it waiting for the engine to cool and bleeding air afterward.
Can You Drive With a P0128 Code?
Yes. The overheating risk is essentially zero, because the problem is the opposite: the engine runs too cold, not too hot. The p0128 engine code will not leave you stranded.
But do not ignore it for months. A cold-running engine burns about 10 to 15 percent more fuel, wears internal parts faster (cold oil protects less), contaminates the oil with fuel, and gives you weak cabin heat all winter. Fix it within a few weeks, and avoid long highway trips until you do, since sustained high-speed driving overcools the engine the most.
P0128 on Popular Vehicles
- GM (Trailblazer, Silverado, Malibu, Cobalt, HHR): The p0128 code on GM trucks and cars is very commonly a sticking thermostat. Note the GM quirk: on some models the temperature gauge stops working and the radiator fans run constantly once the code sets. A 2007 GM technical service bulletin recommends a PCM reprogram for certain 2006 Malibu, Impala, and G6 models with false P0128. The Ecotec 2.2L and 2.4L engines have an integrated plastic thermostat housing prone to cracking and leaking, replace the housing with the thermostat.
- Chrysler, Dodge, Jeep (Compass, Patriot, 200, 300, Charger, Wrangler): The thermostat is the usual suspect. A Stellantis bulletin (07-006-24 Rev. B, September 2024) covers stuck-open thermostats setting P0128 on 2024-2025 Jeep Compass, Jeep Commander, and RAM Rampage, with thermostat replacement under warranty. On older models (2008-2010 Charger, 300, Magnum, 2009-2010 Challenger), thermostats could shift out of place; the fix is a shim plus an updated housing.
- Toyota and Lexus (Camry, RAV4, 4Runner): Thermostat and housing gasket failures are well documented, especially on the 2AZ-FE 2.4L. One caution from the field: a 4Runner had the thermostat replaced and the p0128 code returned the next day. The real fault was a bad air-fuel (O2) sensor. This is why the sensor-vs-thermostat live data test matters before buying parts.
- Honda (2012-2013 Civic): Service bulletin A13-044 covers thermostat valves sticking open and setting P0128. Older Honda bulletins fixed false P0128 with a PCM software update, so check for bulletins before replacing parts.
- Nissan, Mazda, Subaru, Ford, Hyundai/Kia: Nissan issued a 2009 bulletin prescribing a PCM reprogram for 2007 Altima and Sentra. Early Mazda 3/5 models had PCM calibration issues with an updated thermostat for pre-2004 cars. Subaru bulletin 09-56-13 covers 2013-2014 Legacy, Forester, and Impreza thermostat replacement. Ford Duratec engines (Fusion, Escape, Focus) have frequent thermostat failures, sometimes as a water-outlet assembly. Hyundai/Kia Theta II engines (Sonata, Optima, Santa Fe, Sportage) have known thermostat concerns.
P0128 vs P0125
Both codes are about an engine that will not warm up properly, and they are sometimes confused. P0128 specifically means the coolant temperature stayed below the thermostat’s regulating temperature. It is a cooling system code, and it is almost always a thermostat problem. The computer is judging the thermostat’s performance directly.
P0125 means insufficient coolant temperature for closed loop fuel control. It is a fuel system consequence: the engine stayed cold so long that the computer could not switch to its normal closed-loop fuel strategy. P0125 can involve the thermostat too, but it can also be set by sensor faults that P0128 would not catch.
In practice: P0128 points at the cooling system (thermostat first). P0125 points at the warm-up process more broadly. The two codes sometimes appear together, and when they do, the thermostat is the prime suspect for both. If your scan also shows P0117 or P0118 (ECT circuit faults), fix the sensor circuit first, because the p0128 code is judged from that same sensor’s reading.
Related Codes
- P0125 (Insufficient Coolant Temp for Closed Loop): the closest sibling, often appears with P0128.
- P0126 (Insufficient Coolant Temp for Stable Operation): same family, warm-up fault.
- P0116 (ECT Sensor Range/Performance): the sensor reads implausibly, test before replacing the thermostat.
- P0117 / P0118 (ECT Circuit Low / High): fix the sensor circuit first if these accompany the p0128 code.
- Fuel and air system codes: a cold-running engine runs rich, which can eventually set fuel trim codes if ignored long enough.
Video Walkthrough
Watch this walkthrough from O’Reilly Auto Parts (USA) explaining what the P0128 code means, its symptoms, whether you can drive with it, and the basic checks to run.
Frequently Asked Questions
What does the P0128 code mean?
The p0128 code means your engine is running cooler than it should. The computer watches how fast the engine warms up after a cold start, and if the coolant never reaches the thermostat’s target temperature in the expected time, it stores P0128 and turns on the check engine light. Think of it as the opposite of overheating.
What is the most common cause of P0128?
A thermostat stuck open is the most common cause of the p0128 code. The thermostat should stay closed while the engine warms up, then open to let coolant flow to the radiator. When it sticks open, coolant circulates constantly and overcools the engine. Mechanics report this is the fix in roughly 8 out of 10 cases.
Can I drive with a P0128 code?
Yes, you can drive with the p0128 code, and the overheating risk is essentially zero since the engine runs cold, not hot. But do not ignore it for months. A cold engine burns more fuel, wears faster, and gives weak cabin heat. Fix it within a few weeks and avoid long trips until you do.
How much does it cost to fix P0128?
At a shop, a thermostat replacement for the p0128 code typically costs 150 to 400 dollars for most cars, covering the part and one to two hours of labor. Do it yourself and the thermostat plus gasket usually costs 20 to 120 dollars. Prices run higher where the thermostat is buried or sold as part of a housing assembly.
How long does it take to fix P0128?
A thermostat replacement is usually a 1 to 2 hour job at a shop once the engine is cool. A DIYer with basic tools can finish in an afternoon, most of which is waiting for the engine to cool down and bleeding air from the cooling system afterward. Sensor swaps take under an hour.
Will P0128 clear itself?
Clearing the p0128 code with a scanner turns the light off, but it comes back within a few drive cycles if the fault remains. After a real repair, the code typically clears on its own after several normal cold-start drive cycles, though most shops clear it manually and verify it stays off.
What is the difference between P0128 and P0125?
Both are about an engine that will not warm up. The p0128 code specifically means coolant stayed below the thermostat’s regulating temperature, almost always a thermostat problem. P0125 means the engine never got warm enough for closed-loop fuel control, which can also involve sensors. They sometimes appear together.
Conclusion
The p0128 code is one of the least scary check engine codes and one of the best beginner repairs. Your engine runs too cold, usually because a $30 thermostat is stuck open. The live-data cold-start test gives you certainty before you buy anything: if the temperature stalls around 150 to 160 degrees, replace the thermostat.
Do not skip the sensor check, though. A lying coolant temperature sensor or a relevant software bulletin can mimic the exact same code. Diagnose first, then fix. An afternoon of work restores your fuel economy, your cabin heat, and your peace of mind, and the p0128 engine code stays off.
About the author: Written by the OBD2 Code Hub editorial team. Our diagnostic guides are built from real OBD-II data, manufacturer service procedures, and hands-on troubleshooting experience, then reviewed for technical accuracy before publishing. We drive the same cars you do.
