A car radiator seen through the front end

P0128 Code: The Engine Never Got Warm Enough to Test Itself

A P0128 code isn't mainly about a cold cabin. Its first failure condition is that the engine never reached the temperature its other tests need.

Iqbal TaherWritten byIqbal Taher

Photo: Erik Mclean · Pexels

Built from6 sources
Maker documents2 docs
Parts priced3 cars
Last verified

Last verified

What this date means

The day somebody went back and checked the facts on this page: the prices, the documents, the intervals. It isn't the day the page was last edited. Turning a paragraph into a list doesn't move this date; re-reading a source does.

Short answer

A thermostat stuck open, most often

A P0128 code means the coolant never reached the temperature the car needs before it will run its other diagnostics, and a thermostat stuck open is the usual reason. The cold cabin is the part you notice; the tests that never ran are the part that costs money. Replacing the thermostat averages $324 across the country, and most of that is labor rather than the part.

OilAndMiles.com - Every description of a P0128 code says roughly the same thing: the engine isn't warming up, the thermostat is probably stuck open, and you'll use more fuel. All of that is true, and all of it is the second half of the story.

The regulation that defines the check names two ways to fail it, and the one almost nobody quotes is the first one. Before either of them, check the coolant level: it's free, it sets this code on its own, and it means finding where the coolant went.

Coolant temperature sensorThe one thing measuredEngineTo the radiatorThe part the code namesNothing is measuring itThe windowafter startTime sincethe engine ranEngine computerCoolant never reachedthe temperature the othertests need. Then P0128One temperature and one clock. The thermostat is on neither wire.

What is a P0128 code actually measuring?

California's OBD II regulation is the one the EPA accepts in place of its own, so it is what nearly every car sold in the United States is built to. Its cooling system section opens by requiring the system to monitor the thermostat, and the rule's own wording for that and for the failure below is in the panel at the foot of this page.

Then it defines failure. Within an approved window after the engine starts, a malfunction exists if either of two things happens.

The two conditions that set this code, and the two rules that qualify them. Either condition alone is enough, which is why one warm drive doesn't undo it.
Which conditionWhat it saysWhy it matters
Condition oneThe tests couldn't runCoolant 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 twoTwenty degrees shortCoolant never came within 20 °F of the thermostat's nominal regulating temperature inside an approved window after start. The one every description quotes
Either one is enoughNot bothThe 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 omittedWith approvalA manufacturer may leave the monitor out entirely if it demonstrates that a failed thermostat can't measurably raise emissions on that engine

The first condition is why this code costs more than a cold cabin. It's the car reporting that it couldn't test itself.

The second condition is the familiar one: the coolant never came within 20 °F of the thermostat's nominal regulating temperature. That's the sentence every code description is built from.

Which condition does nobody quote?

Here's the other one. A malfunction exists when the coolant never reaches the temperature the OBD II system needs before it will run its other diagnostics.

That reframes the code. The car isn't primarily reporting that it is cold. It's reporting that it couldn't get warm enough to check anything else.

That's a different complaint, and it has a different consequence.

Why can a P0128 code fail an emissions test twice?

Because most of the car's self-tests wait for a warm engine, and a cold one blocks them. The catalyst monitor needs the converter at operating temperature, and the evaporative leak check has coolant temperature in range among its conditions. The oxygen sensors can't be graded until the engine leaves its warm-up map and starts listening to them.

Line diagram of coolant temperature rising against time from a cold start, with a horizontal line marking the temperature the OBD II system needs before it will run its other diagnostics. Above that line a hatched field holds the three tests that wait for it: catalyst efficiency, the evaporative leak check and the oxygen sensors. A solid curve crosses the line and levels off above it; a dashed curve flattens below it and never reaches it. Beside them a thermostat is drawn stuck open, its valve plate held clear of the seat flange
The engine that never crosses the line isn't just cold. Every test that waits above the line stays unrun, which is the part that costs money. Diagram: Oil & Miles
Use this image

Free to republish under CC BY 4.0: credit Oil & Miles and link to this page. The snippet does both.


              
              
            
The readiness monitors a cold engine blocks and what each one is waiting for. The last row is what the test station tells you, not what the car tells you.
What the car can't checkWhat it needsWhy it stalls
Catalyst efficiencyA warm engineThe converter has to reach operating temperature before the car will judge it. Cold, the test never runs and the monitor stays not ready
Evaporative systemA warm-up and a soakThe leak check has its own narrow window, and coolant temperature in range is one of the conditions it waits for
Oxygen sensorsClosed loopUntil the engine is warm the mixture runs on a map rather than on the sensor, so there's nothing to grade
The result at the test stationNot ready, not failedThe car is rejected for incomplete monitors rather than for the code. Fixing the thermostat clears the fault and still leaves the monitors unrun

This is why a repaired car can fail an emissions test the same week. The monitors need driving to complete, not a scan tool.

So a car running cold arrives at an emissions test with monitors that have never completed. In most states that is a rejection, and the paperwork says not ready rather than failed. People read that as a formality; it's not.

The trap is what happens next. Replace the thermostat, clear the code, drive straight back to the test station, and the car is rejected again. The fault is gone; the monitors still haven't run.

Monitors complete over days of ordinary driving, not on a scan tool and not on the forecourt. Budget a week of normal use between the repair and the retest, and check readiness before you go rather than after.

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, and worst on a short trip. 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 thermostat and usually belong elsewhere:

  • Overheating is the opposite fault: a thermostat stuck closed traps coolant, and that sets a different code and a different kind of emergency, covered in our piece on where coolant goes.
  • A sweet smell or a puddle is a leak, not a regulating fault.
  • A rough idle belongs to fueling or ignition; running cold costs economy, not smoothness.

Is it the sensor or the thermostat?

The code names neither, and the rule checks them separately, which is what lets you tell them apart. The same section covers the sensor on its own, and it's checked three ways: circuit continuity, out-of-range values, and rationality faults. Those are the same three checks the evaporative valves get, which isn't a coincidence.

It's how the regulation treats every component it names.

The practical difference is what each fault looks like on a gauge. A sensor with a circuit fault usually reports something impossible, and the gauge pins or sits dead.

A thermostat stuck open reports something entirely believable that is simply too low. If the gauge reads a steady, plausible, cool number, the sensor is probably telling the truth about a genuinely cold engine.

Five things that produce this code, in the order a shop would rule them out. The free check is first and the rare answer is last.
What failsHow likelyWhat is happening
Coolant levelFree to checkToo little coolant and the sensor sits in air rather than liquid, reading a temperature that never rises. Check it cold, before anything is bought
The thermostat, stuck openThe usual answerIt never closes, so coolant circulates through the radiator from the first moment and the engine can't hold heat. CarMD puts replacing it at $324
The thermostat, opening earlyThe quieter versionIt closes but gives up too soon. The gauge looks almost right and the code still sets, which is the case people chase longest
Coolant temperature sensorCircuit, range, rationalityThe rule checks it three ways: continuity down the wire, impossible values, and possible values that don't fit. The same three the EVAP valves get
A missing thermostatWorth askingRemoved by a previous owner chasing an overheat with another cause. It costs nothing to ask, and explains a code no part will fix

Coolant level first, every time. It's the only one on that list that costs nothing to rule out.

One cause on that list is worth asking about out loud: a thermostat that somebody took out. It happens after an overheat that had another cause, and it leaves a car that will never set anything but this code, and that no new part will fix until somebody puts a thermostat back.

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; what changes is how fast the air takes it away.

So the code is seasonal without the fault being seasonal. It also explains the version of this that frustrates people most: it sets on the first cold morning of the year on a car that was fine all summer, and nothing has changed except the weather. The thermostat was marginal for months.

Short journeys do the same thing. A car that never runs long enough to warm through will fail the first condition even with a healthy thermostat on a cold enough day, which is one reason the rule lets the window be approved per vehicle rather than fixed.

Which cars report a P0128 code most?

Three makes clear the bar, and not one of them stands out. The highest share is GMC at 0.11% of its complaints, the next is 0.08%, and a spread that narrow isn't a ranking. What the table shows is which vehicles turn up in the record at all.

From the national complaint record

0.11%

of GMC complaints name P0128. It's the highest here, but only just: the next is 0.08%, and the spread across the whole list is narrow. Read this as the vehicles that show up, not as a ranking with a leader. Within that make it is almost one vehicle: 23 of the 23 are the Acadia.

Share of each make's NHTSA complaints that name P0128, model years 2010 to 2025, 645,169 complaints read, every make on one scale.
GMC0.11%23 of 20,597
Chevrolet0.08%44 of 58,248
Jeep0.03%13 of 42,325
Source: NHTSA consumer complaints, the public database, published 25 August 2026 and read 22 September 2026. We counted every complaint filed on model years 2010 to 2025, 645,169 of them. Makes naming the code fewer than 10 times are left out, because below that a ranking is noise. Only 3 makes clear that bar for this code, so the list is short by nature rather than by trimming. Complaints measure who reported a fault, not how often a part fails.

What does the repair cost?

CarMD's Vehicle Health Index for 2026, built from 39,116,755 repairs across the 2025 calendar year, puts replacing the thermostat at $324, ninth on the national list and 2.44% of all repairs. CarMD sells diagnostic tools, and we name that interest rather than leave it out, though the ranking comes from repair records rather than from anything it sells.

The thermostat itself is a small part of that. Across the three cars below it runs $5.88 to $87 at the counter, which is the part alone against a fitted job of $324.

What decides the bill is where it sits: a housing on the front of the engine is an hour, and one buried behind an intake manifold or under a timing cover is most of a day. Ask which before you compare two quotes, because the same part number can be a $180 job on one car and a $600 job on another.

What it costs

The thermostat and its seal at the counter, on the three cars people search this code with

Parts only, no labor, and no total: the thermostat and its seal are one job rather than a choice between them. The fitted figure is the $324 above.

ThermostatThe spread isn't about quality. The catalog sells several opening temperatures for one car and marks only one of them OE, and the cheapest listing isn't always that one: on the Silverado the OE figure is 207°F and the $15 entry is a 180°F. On the Civic the cheapest is the OE 180°F. On two of these three the thermostat isn't sold without its housing.2015 Honda Civic 1.8L · $5.88 to $19, 7 brands2015 Jeep Wrangler 3.6L · $13 to $30, 3 brands2015 Chevrolet Silverado 1500 5.3L · $15 to $87, 11 brands$5.88 – $87Part only, at the counter
Thermostat sealCheap enough that leaving it out to save a dollar is the expensive choice, since reaching the thermostat again costs the labor twice. The catalog files it beside the water outlet crossover seal, which is a different part and isn't counted here.2015 Honda Civic 1.8L · $0.69 to $4.15, 11 brands2015 Jeep Wrangler 3.6L · $3.37 to $17, 5 brands2015 Chevrolet Silverado 1500 5.3L · $1.08 to $3.88, 6 brands$0.69 – $17Part only, at the counter

Every brand RockAuto lists as fitting each car, read twice with the page reloaded between readings and recorded only where both readings matched. All six pages matched exactly. The cars are the top model of each of the three makes this code is searched with most, and 2015 is the year searched most. One Wrangler listing carried no price and was left out rather than guessed at.

Two things are worth doing while it's apart. The housing gasket goes at the same time on many engines, and the coolant has to come out anyway, so a proper drain and refill with the specification your manual names costs little extra here and a lot later. If you aren't sure which that is, which coolant your car needs comes from the code in your manual, not the color on the shelf.

The sensor is the other half of that question, and it prices on its own.

What it costs

The coolant temperature sensor at the counter, on the same three cars

Parts only, and this is the alternative to the thermostat rather than an addition to it. Which one you need is the question the section above answers.

Coolant temperature sensorThe catalog files more than one sensor under this one heading, and the cheap end is usually the one you don't want. On the Wrangler it carries engine oil sensors beside the coolant one, and Mopar's own descriptions separate them: coolant in the cylinder head, oil in the filter adapter. The cheapest listing there states no location at all and the next cheapest is an oil sensor. On the Civic the split is a sensor in the radiator against one on the water outlet. Only the Silverado's group is all one part. The figures below count the engine-side sensor alone.2015 Honda Civic 1.8L · $7.21 to $29, 5 brands2015 Jeep Wrangler 3.6L · $8.85 to $35, 6 brands2015 Chevrolet Silverado 1500 5.3L · $5.96 to $33, 18 brands$5.96 – $35Part only, at the counter

Every brand RockAuto lists as fitting each car, read twice with the page reloaded between readings. All three pages matched exactly. Listings that name a location away from the engine were left out and counted separately, and so were the ones that name no location at all: six on the Civic, three on the Wrangler. A Walker full service kit on the Silverado isn't a bare sensor and isn't counted.

What should you do about a P0128 code?

We put coolant level first even though the thermostat is the usual answer, because it's the only step that can't cost you anything and it explains a code no part will fix. The order below follows what this code actually reports, and the 5 steps below start with the one that costs nothing:

  1. Check the coolant level cold. A sensor sitting in air rather than liquid reads a temperature that never rises, and that produces this code with nothing wrong with the thermostat.
  2. Ask whether the thermostat is still in the car. A previous owner chasing an overheat sometimes removes it, and that explains a code no new part will fix.
  3. Have the thermostat and the coolant temperature sensor separated. They produce the same code and cost different money. The sensor is checked three ways, so a shop can tell them apart rather than replacing both.
  4. Find out whether a software update covers your vehicle. Mitsubishi reprograms the engine computer free of charge on the 2026 Outlander for this code and offers to reimburse owners who already paid, so the part isn't always the fix.
  5. Drive it before booking an emissions test. Clearing the fault doesn't run the monitors, and a car with incomplete monitors is rejected whether or not the thermostat is now correct.

From the documents

What does the regulation say about the thermostat?

That it has to be watched, and how it fails. One line of the rule creates the check; another defines when it has failed.

Neither of them mentions a cold cabin. Both are about a test that couldn't run, which is why this code costs money at an emissions station rather than at the pump.

California Code of Regulations, Title 13, section 1968.2

The OBD II system shall monitor the thermostat on vehicles so-equipped for proper operation.

The line that creates the check, in the cooling system section. Read at source, August 26, 2026.

California Code of Regulations, Title 13, section 1968.2

if the coolant temperature does not reach the highest temperature required by the OBD II system to enable other diagnostics

The first of the two failure conditions, and the one the code is usually explained without. Read at source, August 26, 2026.

Conclusion

A thermostat is the usual answer, not the only one

A thermostat is the usual answer, not the only one. The code reports a temperature the engine never reached, and a sensor sitting in air rather than coolant reports exactly that with nothing wrong with the thermostat. So does a thermostat a previous owner removed chasing an overheat and never put back.

And clearing the code isn't finishing the job: the monitors have to run again before an emissions test will accept the car, and that takes driving rather than a scan tool. Oil & Miles puts the check that costs nothing ahead of the one that is merely likely, across symptoms.

Common questions

Asked most often

Will a P0128 code clear itself?

The lamp can; the code mostly won't. After three sequential driving cycles in which the monitor ran and found nothing, the car turns the lamp off by itself, and the stored code stays in memory for around forty warm-up cycles regardless. On this code the trap is larger, because a monitor that never reached temperature never ran at all.

What does the P0128 code mean?

The coolant didn't reach the temperature the car expected within the window after starting. The regulation names two failure conditions: not reaching the temperature needed to enable the other diagnostics, or not coming within 20 °F of the thermostat's regulating temperature. Either is enough on its own.

What does the -00 after P0128 mean?

Two extra digits some manufacturers print after a diagnostic trouble code, or DTC. Ram writes it P0128-00 and names it Thermostat Rationality, the regulation's word for a reading that is possible but doesn't fit the conditions. In the federal bulletin archive this code carries four different suffixes, so the digits name different faults.

Is it safe to drive with a P0128 code?

Yes, in the sense that nothing is about to break. A cold-running engine uses more fuel, dilutes its oil slightly faster because the mixture stays rich, and gives you a heater that never quite works. On the 2026 Outlander, Mitsubishi says the lamp can restrict or disable driver assistance. The emissions test is the reason not to wait a year.

Will low coolant cause a P0128?

It can. If the level drops far enough that the sensor sits in air rather than liquid, it reads a temperature that never climbs. Check the level cold before buying anything, and if it's low, ask where it went rather than just topping it up.

Why does the code come back after a new thermostat?

Two common reasons. The replacement was the wrong temperature rating, which happens more than people expect with cheap parts. Or the fault was never the thermostat: a sensor reading low, or a level low enough to leave the sensor dry, produces the same code and survives the repair.

Is P0128 common on a Dodge?

It shows up in the search record on Dodge and Chrysler often enough to mention, and on Honda, Jeep and Chevy more often still. We say no more than that. Search volume measures what people ask about, and a make that sold in large numbers generates more of them. We have no data showing the part fails more often there.

Can I just remove the thermostat?

No, and it's worth being blunt about it. Removing it guarantees the fault it was meant to fix, permanently: the engine never reaches operating temperature, the code stays, the monitors never complete, and the emissions test is out of reach. It also costs fuel every mile.

Sources

  1. 13 CCR 1968.2, read at source: subsections (e)(10.1.1), (e)(10.1.2), (e)(10.2.1)(A) and (e)(10.2.1)(D). The wording they carry is quoted on the page above. California Air Resources Board, read August 26, 2026
  2. CarMD Vehicle Health Index 2026, read as the published PDF, for the thermostat price and its national ranking. CarMD sells diagnostic tools, an interest worth naming. CarMD.com Corp, read August 2026
  3. RockAuto, for every counter price: every brand listed for a 2015 Honda Civic 1.8L, Jeep Wrangler 3.6L and Chevrolet Silverado 1500 5.3L, each page read twice. Read September 19, 2026
  4. 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
  5. 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
  6. The monitors a cold engine blocks are set out with their own federal sources in our articles on catalyst efficiency and the evaporative leak test, including the conditions each one waits for before it will run. Oil & Miles, September 2026

How this was compiled

The complaint counts come from NHTSA's published bulk download rather than its search page, so the whole record is counted rather than a sample. The file is FLAT_CMPL, and the copy read here is dated 25 August 2026.

NHTSA files one row per component a complaint names, so the count is by complaint number rather than by row: across the 2010 to 2025 model years that is 645,169 complaints, and those are what was scanned for this article.

The article is built around the first of the two failure conditions rather than the second, and that's the whole reason it exists. Every description of this code we could find quotes the 20 degree band and stops. The condition that comes before it in the regulation, that the coolant never reached the temperature needed to enable the other diagnostics, is what turns a cold cabin into a failed emissions test, and reading the rule is the only way we found it.

The thermostat and the coolant temperature sensor are covered on one page because the regulation covers them in one section, and because telling them apart is the reader's actual problem. Splitting them would mean writing the same symptom list twice and leaving the comparison nowhere.

What we didn't do

  • We name no failure rate by manufacturer. Search volume for this code clusters on some makes, and we say that plainly in the questions, but volume measures who asks rather than what breaks, and a make that sold in large numbers generates large numbers of questions. We have no data showing the part fails more often on any make, so we make no such claim.
  • We give no thermostat opening temperature in degrees for any particular engine. Those are model specific, the figures in circulation are copied between sites without a source, and publishing one as general would be inventing a specification.
  • We give no labor hours. The spread between an engine with the housing on the front and one with it under a timing cover is the whole story, and a single figure would flatten exactly the thing the reader needs to ask about.
  • We didn't replace a thermostat, scan a vehicle or measure a coolant temperature for this article. The regulation and the repair data are read at source and cited; nothing here is presented as first hand experience.
  • We recommend no brand of thermostat, coolant or scan tool, here or anywhere on the site.

Prices are ranges compiled in August and September 2026 for the US market and vary by region, engine and shop rate. Prices from $10 up are rounded to the nearest dollar, so $14.13 reads as $14 and $14.52 as $15. Below $10 they're exact. This article is general information, not advice about your specific vehicle, see the disclaimer.