Before anything else, check the coolant level. It's free, it sets this code on its own, and it means finding where the coolant went.
What does a P0128 code mean?
It means the coolant didn't reach the temperature the car expected within the window after starting, so the car's other self-tests may not have run. P0128 doesn't name the part that caused it, and the causes further down are what to check.
Engine never warmed up
Coolant Temperature Below Thermostat Regulating Temperature
What the computer saw
The coolant never reached the temperature the car needs, inside the window after the engine starts.
- Code
- P0128
- System
- Powertrain
- Area
- Cooling
- Standard
- Generic OBD-II
- Checks
- Whether the engine warms up enough to run its other tests
What it doesn't prove
It doesn't name the part. It says the coolant never got warm enough, not why.
It's a generic code, so it reads the same on every car, and the thermostat is only one of the parts that can set it. The causes below are in the order to test them.
Can you drive with a P0128 code?
Usually, if a cold check shows the coolant full and it stays full, because a cold-running engine isn't about to break. Don't go by the gauge alone, since it reads the same sensor.
It uses more fuel, dilutes its oil slightly faster because the mixture stays rich, and gives you a heater that never quite works. Left alone, the monitors that wait for a warm engine never complete, so the car can't pass an emissions test.
On early-build 2026 Outlanders, Mitsubishi says the lamp can also restrict or disable driver assistance. Don't count on those systems until the update is done.
The exception is a cooling problem: if the coolant is low and dropping, the gauge climbs, you see steam or a warning comes on, stop and never open a hot cap. A coolant leak covers what to do next.
What causes a P0128 code?
The coolant level, a thermostat stuck open or opening early, the coolant temperature sensor, the engine software, a missing thermostat and a cooling fan stuck on all set this code. Check the level first, because it costs nothing, and general repair guides also list a bad intake air temperature sensor, checked last.
Use this image
Free to republish under CC BY 4.0: credit Oil & Miles and link to this page. The snippet does both.
<a href="https://oilandmiles.com/articles/p0128-code"><img src="https://oilandmiles.com/assets/img/diagrams/p0128-code-cooling-parts-bench.svg" alt="The front of a small SUV with the hood off, with the suspects this page names in color and numbered to match its sections: 1 the coolant level, checked cold, 2 the thermostat stuck open, 3 the thermostat opening early, 4 the coolant temperature sensor. The engine software and a missing thermostat aren't drawn." width="1200" height="675"></a> <p>Diagram: <a href="https://oilandmiles.com/articles/p0128-code">Oil & Miles</a>, CC BY 4.0</p>P0128 alone confirms none of them, because the code says the coolant never got warm enough, not why. Each cause below has its own first test.
1. The coolant level
With too little coolant, the sensor can sit in air rather than liquid and read a temperature that never rises, so check the level cold before anything is bought. If it's low, the real job is finding where the coolant went. Our coolant leak guide covers that.
2. The thermostat, stuck open
The coolant thermostat never closes, so coolant runs through the radiator from the first moment and the engine can't hold heat. The gauge sits low or climbs slowly, and the heater blows warm rather than hot. Ask for a live coolant reading on a cold start before the sensor goes too.
3. The thermostat, opening early
It closes but gives up too soon. The gauge can look almost right while the code still sets. It's also why the code can come back every winter on a car that was fine all summer, covered below. A replacement needs the right temperature rating.
4. The coolant temperature sensor
The OBD II rule has the car check this sensor in three ways: a broken wire, a reading that can't be real, and a real-looking one that doesn't fit. A reading that's impossible rather than low points at the sensor, so the thermostat can wait.
5. The engine software
Some carmakers fix P0128 with a computer update, not a part. Mitsubishi's bulletin tells dealers "Do not replace any parts" and to reprogram the engine computer instead, and Subaru has an update for the 2019–2022 Ascent. A code back after a new thermostat points the same way.
On some GM SUVs the code comes with a gauge that misreads or cooling fans that keep running after the engine is off, and there the fans don't cause the code, because both come from the same software fault. Ask the dealer to check your VIN, the 17-character vehicle ID, before a part is bought.
6. A missing thermostat
Somebody may have removed it while chasing an overheat with another cause. That leaves a car that sets this code until a thermostat goes back in. It costs nothing to ask a shop to look before it orders a part.
7. A cooling fan stuck on
A fan that runs from a cold start keeps pulling heat out of the radiator. That stops the coolant reaching temperature. Watch it on a cold start before anyone replaces the thermostat, since a new thermostat won't stop it.
What are the bad thermostat symptoms?
The real ones are quiet: the temperature gauge sits below its usual mark or takes far longer than normal to climb. The heater blows warm rather than hot, worst on a short trip, and fuel economy drops because a computer that thinks the engine is still warming up keeps the mixture richer than it needs to be.
Three things get blamed on a bad thermostat and belong elsewhere:
- Overheating. It's the opposite fault: a thermostat stuck closed traps coolant, and that can set a different code and a different kind of emergency, covered in our coolant leak guide.
- A sweet smell or a puddle. That's a leak, not a regulating fault.
- A rough idle. It belongs to fueling or ignition. Running cold costs economy, not smoothness.
Is it the sensor or the thermostat?
The gauge gives you a clue: a sensor fault tends to read something impossible, so the gauge pins or sits dead, while a thermostat stuck open reads a believable number that's simply too low. The rule checks the two separately, so a shop confirms it with a live reading on a cold start.
If the shop can't say, ask for a live reading of coolant temperature on a cold start, which many basic scan tools can show, before paying for both parts. The sensor is the alternative to the thermostat, not an addition, and it prices on its own.
How do you fix a P0128 code?
Start with the free checks, because a part won't fix a low level:
- Check the coolant level cold. Low coolant alone can set this code, as cause 1 explains.
- Ask whether the thermostat is still in the car. A missing one keeps the code coming back, as cause 6 explains.
- Watch the fan on a cold start. With the A/C and defrost off, it should stay off while the engine warms, so check it before anyone replaces the thermostat. Watch from a safe distance, with hands, hair and sleeves clear, since the fan can start at any time.
- Ask the shop how it told the thermostat from the sensor. They set the same code and cost different money, so a good answer names a test, not a guess.
- Find out whether a software update covers your vehicle. Some carmakers reprogram the engine computer for this code free of charge, so the part isn't always the fix.
When a step doesn't settle it, this is where to go next:
- The level is full and stays full. Then the coolant isn't the cause, so move to the thermostat and the sensor, and ask the shop which it tested first.
- The dealer finds no bulletin for your VIN. Then software is unlikely on your car today, so ask for a live reading of coolant temperature on a cold start.
- The shop won't say how it told the two apart. Ask for that reading before paying for both parts, or take the quote to a second shop.
What to say to the shop
When a quote names a part before any test has run:
“I have P0128 and these other codes stored: [codes]. Before you replace a thermostat or a coolant temperature sensor, can you check the coolant level, check my VIN for a software update, and tell me which test told the thermostat from the sensor?”
A good answer: one that names the test that told the thermostat from the sensor, and the hours it books for where the thermostat sits on your engine.
What does the repair cost?
It can cost nothing when a software update is the fix and the car is in a campaign, such as Mitsubishi's, or under warranty. Otherwise you pay for the part the test names, a thermostat or a coolant temperature sensor, plus the hours to reach it.
What decides a thermostat bill is where it sits on your engine, so ask how many hours the shop books before you compare two quotes. Before you pay, run your VIN through our free VIN decoder for your model year's recalls and NHTSA's VIN search for the open ones.
The housing gasket goes at the same time on many engines, and the coolant has to come out anyway. So a drain and refill with the coolant your car needs adds little to the bill now.
Why can a P0128 code fail an emissions test?
Because most of the car's self-tests wait for a warm engine, and a cold one blocks them. The catalyst monitor needs operating temperature, the evaporative leak check needs coolant temperature in range, and the oxygen sensors can't be graded until the engine has warmed up.
- Catalyst efficiency. It needs a warm engine, because the converter has to reach operating temperature before the car will judge it.
- Evaporative system. It needs a warm-up and a soak, and coolant temperature in range is one of the conditions it waits for.
- Oxygen sensors. They need closed loop. Until the engine is warm the mixture runs on a map rather than on the sensor, so there's nothing to grade.
- At the test station. With the lamp lit, the federal inspection rule fails the car, and fixed and cleared it's sent away until the monitors run. A 2001 or newer car may pass with one still unset, and rules vary by state.
This is why a repaired car can fail an emissions test the same week. It fails outright while the lamp is on, and once it's repaired and cleared it comes back not ready rather than failed, because the monitors still haven't run.
They complete over days of ordinary driving, not on a scan tool. Budget about a week of normal use between the repair and the retest, and check readiness before you go. Once they run, a catalyst or evaporative fault sets its own code, as our check engine light codes page explains.
Why does it appear in winter and vanish in July?
Because a thermostat that opens early rather than never can hold a normal temperature on a warm day and lose the argument on a cold one. The engine makes the same heat either way, and what changes is how fast the air takes it away.
So the fault is there all year, but the code only shows when it's cold: it sets on the first cold morning of the year on a car that was fine all summer. Nothing has changed except the weather, and the thermostat was marginal for months.
Short trips make the symptoms worse. The rule also lets carmakers pause the test in deep cold, so the code may not set below about 20°F.
Which cars report a P0128 code most?
No make stands out, and within GMC it is almost all one vehicle, the Acadia. A 2021 Acadia owner should ask the dealer whether GM's software update covers the car.
GMC has the highest share at 0.11% of its complaints and the next is 0.07%. Complaints show who reported a fault, not what breaks.
Use this image
Free to republish under CC BY 4.0: credit Oil & Miles and link to this page. The snippet does both.
<a href="https://oilandmiles.com/articles/p0128-code"><img src="https://oilandmiles.com/assets/img/diagrams/p0128-code-checklist.jpg" alt="P0128 code checklist: check the coolant level cold before anything is bought; a low gauge and a lukewarm heater point to a thermostat stuck open, a pinned or dead gauge to the sensor; watch the cooling fan on a cold start; ask the dealer to check your VIN for a software update; ask a shop to look for a missing thermostat; ask how many hours it books for your engine; after the repair, drive a week of normal use and check readiness before the emissions test." width="1200" height="1378"></a> <p>Infographic: <a href="https://oilandmiles.com/articles/p0128-code">Oil & Miles</a>, CC BY 4.0</p>From the carmakers
What does the regulation say about the thermostat?
The regulation says the thermostat has to be watched, and it says how it fails. One line of the rule creates the check, and another defines when it has failed.
California's OBD II regulation is the one the EPA accepts in place of its own, so it's what nearly every car sold in the United States is built to. Within an approved window after the engine starts, a malfunction exists if either of two things happens:
| Which condition | What it says | Why it matters |
|---|---|---|
| Condition one | The tests couldn't run | Coolant never reached the temperature OBD II needs before running other diagnostics. The finding isn't a cold engine, it's a test that never happened |
| Condition two | Twenty degrees short | Coolant never came within 20°F of the thermostat's nominal regulating temperature inside an approved window after start. The familiar one |
| Either one is enough | Not both | The regulation says the system shall detect a malfunction if either occurs. A car can set the code while its gauge looks normal |
| And it can be omitted | With approval | A manufacturer may leave the monitor out entirely if it demonstrates that a failed thermostat can't measurably raise emissions on that engine |
Either condition alone is enough, which is why one warm drive doesn't undo it. On 2021 and newer gas cars the rule adds a third, coolant that reaches temperature and then drops back.
Regulation 13 CCR 1968.2 (e)(10.1.1)
The OBD II system shall monitor the thermostat on vehicles so-equipped for proper operation.
Regulation 13 CCR 1968.2 (e)(10.2.1)
if the coolant temperature does not reach the highest temperature required by the OBD II system to enable other diagnostics
- Software fixes. Mitsubishi reprograms early-build 2026 Outlanders free of charge (SC-26-003) and will consider reimbursing owners who already paid. GM reprograms some 2021 Traverse, Acadia, Blazer, Enclave, XT5 and XT6 SUVs (22-NA-054), Subaru the 2019–2022 Ascent (09-98-22R), and Mercedes-Benz checks for an update on some V8s after ruling out swapped coolant hoses.
- Thermostat coverage. GM covers the thermostat itself on the 2021 XT5, XT6, Blazer and Acadia for 15 years or 150,000 miles under special coverage N252508350. It repays earlier repairs claimed by November 30, 2026.
Conclusion
What to do next about a P0128 code
A thermostat is one answer, not the only one. A sensor sitting in air, a thermostat a previous owner removed or a fan stuck on sets the same code, and on a few models the cure is a software update.
Check the level cold and ask the dealer about a software update for your VIN. Plan the retest about a week after the repair.
Oil & Miles checks each step here against the rule and the carmakers' bulletins.
Common questions
Asked most often
Will a P0128 code clear itself?
The lamp can turn off by itself after three sequential driving cycles in which the monitor ran and found nothing, while the stored code stays in memory for around forty warm-up cycles. On this code the trap is larger, because a monitor that never reached temperature never ran at all.
What does the -00 after P0128 mean?
Two extra digits some manufacturers print after a trouble code: Ram writes it P0128-00 and names it Thermostat Rationality, a reading that's possible but doesn't fit the conditions. In the federal bulletin archive this code carries four different suffixes, so the digits name different faults.
Will low coolant cause a P0128?
It can, because a level low enough to leave the sensor in air rather than liquid reads a temperature that never climbs. Check the level cold before buying anything, and if it's low, ask where it went.
Why does the code come back after a new thermostat?
The replacement can carry the wrong temperature rating, cooler than the original, so the code comes back. Or the fault was never the thermostat, since a low level or a software fault a dealer finds by VIN survives the repair.
Can I just remove the thermostat?
No, because removing it almost always brings the fault back: the engine seldom reaches operating temperature, the code stays and the monitors never complete. It also costs fuel every mile.
What people ask next
Sources
- AutoZone and KBB on P0128, for the intake air temperature sensor. Repair guides, read November 2, 2026
- Identifix, AutoZone and Kelley Blue Book P0128 guides, for a cooling fan stuck on as a cause. Read November 2, 2026
- 13 CCR 1968.2, subsections (e)(10.1.1), (e)(10.1.2), (e)(10.2.1)(A) and (e)(10.2.1)(D), for the wording quoted on the page above. California Air Resources Board, read August 26, 2026
- 13 CCR 1968.2, current text, subsections (e)(10.2.1)(B) and (e)(10.3.1), for the third condition and the pause in deep cold. Cornell Legal Information Institute, read November 1, 2026
- 40 CFR 85.2222, the federal rule for OBD inspections, for when a lit lamp fails a car and how many unset monitors a 2001 or newer car may pass with. Code of Federal Regulations, read October 3, 2026
- Ram technical service bulletin 18-036-26, March 7, 2026, for the suffix and the code's official name, read through NHTSA's bulletin archive. Stellantis, read September 19, 2026
- Mitsubishi service campaign SC-26-003, August 19, 2026, for the software cause and the free-of-charge remedy, read as the published bulletin. Mitsubishi Motors North America, read September 20, 2026
- Mitsubishi TSB-26-14-001, Subaru 09-98-22R and Mercedes-Benz LI20.10-P-072886, for the software fixes for P0128. Filed with NHTSA, read October 2, 2026
- GM technical bulletin 22-NA-054, March 2022, for the 2021 SUVs reprogrammed for P0128 with fans running after shutdown. Filed with NHTSA, read October 6, 2026
- GM Special Coverage N252508350, October 21, 2025, for the 2021 XT5, XT6, Blazer and Acadia thermostat that opens at a lower temperature than intended. Filed with NHTSA, read November 5, 2026
AI illustration by Oil & Miles
How this was compiled
NHTSA files one row per component a complaint names, so the count is by complaint number rather than by row: across the 2010–2025 model years that is 653,343 complaints, and those are what was scanned for this article.
The article is built around the first of the two failure conditions, because the descriptions of this code we read quote the 20 degree band and stop there. The monitors a cold engine blocks have their own federal sources on our catalyst efficiency and evaporative leak test pages.
What we didn't do
We name no failure rate by manufacturer, because the complaint chart measures who reported a fault, not what breaks. We give no thermostat opening temperature or labor hours for any particular engine, because those are model specific and a single figure would flatten what you need to ask about.
We didn't replace a thermostat, scan a vehicle or measure a coolant temperature for this article, and we found no carmaker document that names a cooling fan stuck on as a cause of P0128. The regulation and the repair data are read at source and cited.
This article is general information, not advice about your specific vehicle. See the disclaimer.



