🚨 60-Second Triage — P0128, steady light, gauge low or normal, car drives fine: safe to drive to a diagnosis; book it this week or this month. Gauge climbing toward H, low coolant warning, steam or a sweet smell: pull over and shut it off; that is overheating, and the cold code is misleading you (Route 5). 2017 to 2023 Blazer, Acadia, XT5, XT6, Traverse or Enclave with Steering Assist Reduced, no A/C and fans roaring: drive gently to a dealer and ask for the documents in Route 4. P0128 came back after a new thermostat: do not buy another one yet; Routes 2 and 3. Before anything: check the coolant level with the engine cold.

📊 P0128 in the PulsCar Check Engine Code Index — 125 distinct manufacturer bulletins received by NHTSA from 2015 to August 2026 name P0128, from 13 manufacturer groups. At least 74% are software updates, and 52% without Stellantis, the highest share of the 17 codes we indexed once its flash bulletins are set aside; Hyundai, Kia, Ford and Mitsubishi lead. Median mileage in the 23 owner complaints that report it: 67,650. In practice: ask for a VIN check for bulletins and updates before paying for a thermostat. See the index, method and data →

P0128 is the engine computer saying the engine is colder than it should be. Not overheating: undercooked.

The rule behind it is written into California's OBD II regulation, which sets the monitoring standard for US cars. A thermostat counts as failed if, within an approved time after starting, the coolant does not reach "a warmed-up temperature within 20 degrees Fahrenheit" of the thermostat's nominal regulating temperature. From model year 2021 on, gasoline cars must also flag coolant that reaches that temperature and then falls back below it.

The usual cause is a thermostat stuck open. But the computer judges a number from a sensor, through a calibration someone wrote, and manufacturers have repaired all three. By the end of this guide you will know which of five routes is yours, the free warm-up test that splits a real cold engine from a false reading, and what each answer costs in 2026. Claims marked 🟢 rest on a document in Sources, opened and read; ⚪ marks estimates and owner reports.

I built PulsCar after a $380 "full diagnostic" in Phuket in 2025 led to roughly $6,000 over six months across several shops, and the sound never went away (the story is on the About page). Every claim on this page that rests on a document says so, because the alternative is the kind of guessing I paid for.

Find out whether the engine is actually cold

Find out whether the engine is actually cold before you price a part. Every route is defined by what the gauge, live coolant temperature and the upper radiator hose show, not by the code.

One rule overrides everything here: P0128 is a claim about a temperature, so check the temperature. GM wrote the rule for its own dealers on 2019 to 2020 Silverado and Sierra 1500 trucks with the 4.3L: "clear the codes and do not replace the thermostat for this concern," because a calibration was on its way.

First: which cooling code do you actually have?

The codes around P0128 watch the same system from different angles. The wording below is the standard description a scan tool prints; P0128's formal name is Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature), and Stellantis bulletins call it "Thermostat Rationality."

P0128 — engine did not warm up to near thermostat temperature in time, or cooled back down; thermostat, sensor, software
running cold
P0125 — insufficient coolant temperature for closed-loop fuel control; the earlier, lower warm-up target
slow to start
P0126 — insufficient coolant temperature for stable operation; the code Mazda prints as "Thermostat stuck open" and covers for 15 years under SSP D8
running cold
P0116 — coolant temperature sensor range or performance; the reading does not make sense against the others
sensor doubt
P0117 / P0118 — coolant temperature sensor circuit low or high; a short, an open wire or a connector
wiring first
P0217 — engine coolant over temperature; Ford pairs it with an Engine Coolant Over Temperature warning
stop driving
P2181 — cooling system performance, the name Hyundai prints beside P0128 in 20-EM-002H
check coolant

The companion code often says more than P0128 does.

  • P0128 with P0117, P0118 or P0116 → the signal, not the thermostat. Ford's 2.7L documents list all of them together, Route 2.
  • P0128 with U0401 and a steering message → GM's 3.6L crossovers, Route 4.
  • P0128 with P0217, P2181, a low coolant warning or white smoke → heat, not cold, Route 5.
  • P0128 with P0300 to P0306 → misfires first; coolant in a cylinder is on that list.

How the computer decides the engine is too cold

There is no universal number, and anyone who quotes one for every car is guessing. There is a method.

It predicts, then compares. Stellantis explained it in bulletin 18-016-13 for the 2004-2010 PT Cruiser: P0128 "is a two trip code and is matured if a significant difference exists between the PCM predicted and actual engine coolant temperature during engine warm-ups." The computer estimates how warm the engine should be from how long and how hard it has run, then checks the sensor. Two drives in a row with a big gap, and the light comes on.

Cold air and gentle driving move the prediction. The same bulletin says airflow over the sensor in ambient air of "50° F (10° C) or below" could make the prediction wrong, so the fix was software. Subaru's 09-75-21 found P0128 setting on 2019-2021 Foresters driven downhill for long stretches before warming up. Autumn and winter are when real stuck-open thermostats show and when some calibrations misjudge.

Some documents print the numbers. Mazda's 01-021/13 gave technicians freeze-frame conditions for a software false alarm. On a 2012 Mazda5 the bulletin applied when the recorded coolant temperature was "65°C (149°F) or below" and ambient air was 15°C (59°F) or below. On a 2010 Mazda3, coolant between 78°C and 80°C. Those are that calibration's numbers, not a rule for your car, but they show the logic: one cold snapshot, judged against expectations.

The newer rule catches the highway drop. For gasoline cars from model year 2021, the California regulation adds a second test: coolant that reaches temperature and then falls back below it. A thermostat stuck open often behaves exactly that way, warm in town and cooling on a cold highway, with the gauge sinking at speed.

The 10-minute P0128 driveway protocol

  1. Check the coolant level, engine cold. Never open a hot radiator or pressure cap. Low coolant can leave the sensor in air or steam and fake a cold or hot reading.
  2. Note the gauge on your next cold start. On most cars it reaches its normal position in a few minutes of town driving and stays there. Slow to rise, or falling on the highway, is the stuck-open pattern.
  3. Feel the heat. Weak heat after 15 minutes, especially at speed, backs up the gauge. Hot air with a gauge stuck at C points at the sensor or the gauge signal, not the thermostat.
  4. Watch live coolant temperature if you have any scanner. A cheap OBD2 adapter and a phone app show it. Write down the temperature every two minutes from a cold start.
  5. Do the upper hose check at idle, carefully. From a cold start, idle with the hood open. Touch the upper radiator hose lightly and briefly with the back of your hand every minute, keeping hands, sleeves and hair away from the fan and belts, which can start without warning. If the hose warms almost at once, coolant is reaching the radiator early. It should stay cool, then warm fairly quickly once the thermostat opens.
  6. Compare two temperatures after an overnight sit. Before starting, coolant temperature and intake air temperature on a scanner should be close to each other and to the outdoor air. A coolant reading far off the other two points at the sensor.
  7. Listen when you shut it off. Cooling fans that roar at full speed for minutes after a short drive, or that run with a cold gauge, are a clue GM's documents name. Record 30 seconds on your phone.

Ten minutes and a cheap adapter do most of the sorting an $80 to $150 diagnostic fee buys.

Can you keep driving? The honest version

Usually yes, in the short term. Hyundai's P0128 bulletins state that "No drivability issues are associated with this condition." But a cold engine burns more fuel, gives weak defrost and may never finish its emissions readiness checks, so not for months.

Not when heat joins in. Of 110 federal complaints naming P0128, 13 use a form of the word overheat, but only 3 describe an engine that actually ran hot. A climbing gauge, a coolant warning or steam means Route 5 and a stop.

Eight P0128 situations, and which is yours

"Check engine light, P0128, and the heater has been lukewarm since it got cold." → Route 1: the stuck-open thermostat.

"The gauge goes up normally and the heat is hot, but the code keeps coming back." → Route 2: the signal or the software.

"I replaced the thermostat and P0128 is back." → Route 3, then Route 2.

"Steering Assist Reduced, no A/C, gauge on C and the fans roar, on a Blazer, Acadia or XT5." → Route 4, and GM's documents before any parts.

"The temperature gauge drops toward cold on the highway." → Route 1; on 2021 and newer cars this is exactly what the monitor is built to catch.

"P0128 plus a low coolant warning, white smoke or a gauge heading to hot." → Route 5. That is not a cold engine.

"My car failed inspection readiness after I cleared P0128." → The inspection section below.

"A hybrid with P0128 and nothing else wrong." → Route 2. Kia's Niro and Hyundai's Ioniq hybrids got logic updates for this code.

What actually determines a P0128 number

Whether anything is broken. A software update, a sensor or a thermostat are three different bills. GM's PIP5685, Ford's SSM 47751 and Mazda's 01-021/13 exist because the answer is sometimes nothing physical.

A separate thermostat or a housing assembly. A classic thermostat is a $20 to $50 part. Many modern engines use a plastic housing with the thermostat built in, replaced whole: ⚪ $200 to $600 installed. GM changed its own 3.6L procedure in PIP5940 to "replacement of the thermostat housing only - Not the pipe and water outlet housing," because extra parts were being replaced.

How deep it sits. A thermostat on the front of a four-cylinder can be under an hour. Acura's bulletin for the 2017 NSX allows 4.1 hours; GM allows 1.9 hours for the 3.6L housing and 2.5 for the 2021 Camaro job.

Whether a document covers your VIN. A 2021 Blazer's housing can be free for 15 years under N252508350; the same part on a 2019 is at the owner's cost.

Coolant and bleeding. Every opening of the cooling system needs the correct coolant and air bled out; ⚪ $80 to $210 when a quote lists it separately.

The P0128 price ladder, from the bottom up

Coolant level checked cold, warm-up timed, hose felt
$0
Code read and freeze frame at a parts store
Free
AI sound check — 30 seconds tells fans stuck on high from a healthy idle
Free
OBD2 adapter to watch live coolant temperature
⚪ $20–$40
Standalone thermostat, part only
⚪ $20–$50
Shop diagnosis, independent — dealers ⚪ $120–$300
⚪ $80–$150
Computer reprogram — GM and Ford list 0.3 hours; often under warranty
0.3 hr labor
Coolant drain, refill and bleed
⚪ $80–$210
Coolant temperature sensor, installed
⚪ $100–$250
Thermostat replaced at a shop — coolant and bleed usually included
⚪ $150–$350
Thermostat housing assembly, installed
⚪ $200–$600
GM 3.6L crossover, dealer thermostat housing — owner-reported bills
⚪ $600–$1,700
The same housing on a VIN inside N252508350 — identical work, GM pays
$0

Read it from the bottom up: the most expensive line and the free last line can be the same job. What moves a car between them is a VIN lookup and a temperature reading.

The P0128 number, by what you drive

2021 Cadillac XT5 and XT6, Chevrolet Blazer, GMC Acadia — N252508350: thermostat opening low, 15 years or 150,000 miles; reimbursement claims by 30 November 2026
run the VIN
2021 Chevrolet Camaro — N242484760: same condition, same 15-year term; reimbursement window closed 28 February 2026
run the VIN
2017-2023 Acadia and XT5, 2019-2023 Blazer, 2018-2023 Traverse and Enclave, 2020-2023 XT6 — PIT5967: steering message with P0128; fix P0128 first
not the steering gear
2019-2020 Silverado and Sierra 1500, 4.3L — PIP5685: clear codes, do not replace the thermostat; calibration pending
software
2020-2021 Ram 1500, Wrangler, Gladiator, Grand Cherokee, Durango, Pacifica, Voyager, as NHTSA indexes it — STAR S2118000009: test the sensor's insulation before a thermostat
sensor test
2024-2025 Jeep Compass and Commander, Ram Rampage — 07-006-24 Rev. B: thermostat stuck open, built 8 May 2023 to 10 May 2024, on the VIN list
warranty
2.7L: 2015-2020 F-150 and Edge, 2017-2019 Fusion, 2016-2018 MKX, 2019-2020 Nautilus, 2017-2020 Continental — SSM 48991 and TSB 21-2168: coolant temperature sensor and wiring
signal, not stat
2019-2020 Edge and Nautilus, 2.0L — TSB 20-2234: P0128 with low coolant, white smoke or over temperature points at the EGR cooler
coolant loss
2011-2014 Subaru Forester, 2013-2014 Legacy and Outback, 2012-2013 Impreza and Crosstrek, 2013 BRZ — 09-56-13: countermeasure thermostat
right part number
Hybrids: 2017-2019 Kia Niro HEV and PHEV, 2017-2019 Hyundai Ioniq HEV and PHEV; 2026 Mitsubishi Outlander — software updates to the P0128 logic; Hyundai and Kia replace no parts
different rules

Which P0128 route is yours? Answer five questions

1. Slow gauge, weak heat, early-warm upper hose, or a gauge that sinks on the highway? → Route 1. A thermostat stuck open.

2. Normal gauge and hot heat, or a sensor reading that disagrees with the car? → Route 2. The signal or the software.

3. Did P0128 appear or return after a thermostat, coolant or water pump job? → Route 3. Seating, air and the wrong part.

4. A 2017-2023 GM 3.6L crossover with a steering message? → Route 4. GM's documents, in order.

5. P0128 with overheating, coolant loss, white smoke or misfires? → Route 5. Not a cold engine at all.

The five P0128 routes, cheapest first

Route 1 · Slow warm-up, weak heat, a gauge that sinks on the highway — the thermostat stuck open

🟢 Documented — Stellantis 07-006-24 Rev. B (thermostat stuck open), Subaru 09-56-13, Kia ENG176, Hyundai 18-01-012 and 20-EM-002H, Acura 17-048
time the warm-up
💰 Cost — a standalone thermostat, or a housing assembly on newer engines
⚪ $150–$600
📋 The catch — cheap and common, which is why it gets replaced on cars where it was never the fault
prove it first

The tell. The gauge takes much longer than it used to, or drops on a cold highway run. Heat is lukewarm. The upper radiator hose warms almost as soon as the engine starts. Fuel economy slips. A Jeep Cherokee owner told NHTSA the thermostat stuck open, fuel use went up and heat went down; another described the "same observed failure of engine to warm up during remote starts," a second thermostat at 111,000 miles.

What it actually is. The thermostat is a wax-pellet valve that should stay shut until the engine is warm. If it opens early or never closes, coolant flows through the radiator from the first minute and the engine cannot hold its temperature, most visibly in cold air and at speed.

How manufacturers found theirs failing. Stellantis bulletin 07-006-24 Rev. B, 24 September 2024, for 2024-2025 Compass, Commander and Rampage built 8 May 2023 to 10 May 2024, names the cause plainly, "Faulty thermostat," with the customer saying "The vehicle does not have heat inside the cabin" or "The engine is running cold." Subaru's 09-56-13 released a countermeasure thermostat after coolant entered the thermostat's internal piston during long cold soaks. Kia's ENG176 replaced the electric thermostat on 2017 Forte 2.0L cars after coolant got past its seal. Acura's 17-048 found the 2017 NSX's inner seal detaching and holding the thermostat open.

When the maker replaced it anyway. Hyundai's campaign bulletin 18-01-012, April 2018, replacing 16-01-034-2, covers certain 2017 Elantra 2.0L cars: "Replacement of thermostat is required even without a P0128 code." One 2017 Elantra owner brought that document to a dealer and reported that "The dealership refused to comply with the bulletin." Ask for the campaign by its name, TLL, and check open campaigns on the VIN.

A Pentastar note. A Stellantis parts review, issue 9100287, January 2024, covers thermostat assemblies for 2022-2024 3.6L Pentastar Upgrade engines with P0128, and tells dealers to inspect per STAR publication S2309000014 before replacing one. That STAR document is not in NHTSA's file, so we cannot tell you what the inspection is.

The cheap cause that gets skipped. Coolant level. A low level can mimic a stuck thermostat and costs a bottle of the correct coolant. If the gauge is normal but the heat is weak, the thermostat may be fine and the problem is on the heater side; the heater core cost guide covers that fork.

Fix it yourself — confirm, then decide. Time three cold starts with a scanner and write down the minutes to full temperature, and whether it falls on the highway. On an engine with an accessible thermostat, the part is $20 to $50; our thermostat cost guide covers the job and the bleed. The honest limit: use the maker's part or the countermeasure number where one exists, work only on a cold engine, and if your engine uses a buried plastic housing or needs a scan tool to bleed, it is a shop job.

At the shop — say this: "P0128, slow warm-up and weak heat. Please show me live coolant temperature from a cold start, check campaigns and bulletins on this VIN, and use the manufacturer's current thermostat part number."

Route 2 · Gauge normal, heat hot, code keeps returning — the signal or the software

🟢 Documented — GM PIP5685 and 20-NA-109, Ford SSM 47751, TSB 19-2116, SSM 48991 and TSB 21-2168, Stellantis STAR S2118000009, Mazda 01-021/13, Subaru 09-75-21, Mitsubishi TSB-26-14-001
VIN lookup first
💰 Cost — a reprogram, a sensor, or a harness repair
⚪ $0–$250
📋 The catch — the thermostat is the part most often sold on this route, and several makers say not to
do not guess

The tell. The gauge rises normally, heat is hot, the upper hose stays cool until the engine is warm, and P0128 still sets, sometimes only in cold weather or after a particular kind of drive. Or the coolant reading disagrees with intake air temperature after an overnight sit.

Software that set the code by itself. GM's 20-NA-109, May 2020, for the 2019-2020 CT6 4.2L, says the P0128 test was "running at the incorrect time," causing a false failure, and adds: "Do not replace the thermostat or any other components for this condition unless SI diagnostics lead to a component or electrical circuit fault." Mitsubishi's TSB-26-14-001, June 2026, for the 2026 Outlander, is shorter: "Do not replace any parts." Campaign bulletin SC-26-001 was revised in July.

Wait, drive, then decide. Ford's SSM 47751, January 2019, for 2018-2019 Fiesta: clear the codes, let the car sit at least 3 hours, drive at least 10 miles, and if P0128 does not return, "do not replace the thermostat valve." Ford's TSB 19-2116 then reprogramd 2016-2019 Fiestas built on or before 19 February 2019, 0.3 hours.

More recalibrations. Mazda 01-021/13 blames "improper control logic of the PCM". Toyota T-SB-0045-13 covers the 2010-2011 Camry 2AR-FE, Nissan NTB21-006A the 2021 Versa manual, Subaru 09-75-21 the 2019-2021 Forester on long downhill runs before warm-up. Kia ENG211 rewrote the P0128 judgment logic on 2017-2019 Niro hybrids; Hyundai 20-FL-012H did the same for 2017-2019 Ioniq hybrids. Stellantis flashes include P0128 on the 2013-2015 Dart and 2015 Chrysler 200 2.4L (18-022-17 Rev. A) and the 2016 Renegade 2.4L (18-061-16 Rev. C).

The sensor and its wiring. Stellantis STAR case S2118000009, May 2021: before replacing a thermostat, measure resistance between the coolant sensor's metal shell and pin 1; it "should be greater than 1MΩ," and lower means a new sensor. Ford's SSM 48991 replaced the coolant temperature and knock sensors on 2.7L engines setting P0128 among other codes. Ford's TSB 21-2168, 1 June 2021, blames "an intermittent drop in the engine coolant temperature (ECT) voltage" on 2018-2020 F-150 2.7L trucks and relocates the sensor, 1.3 hours.

The cheap cause that gets skipped. The software lookup. A dealer checks a VIN for calibrations in minutes, and on the cars above that is the whole repair.

Fix it yourself — compare the numbers. After the car sits overnight, read coolant and intake air temperature on a scanner before starting; they should be close. Unplug nothing on a hot engine; look at the sensor connector for corrosion or a loose lock. The honest limit: a reprogram needs dealer tools, and a harness fault behind the intake is not a driveway job.

At the shop — say this: "P0128 with a normal gauge and hot heat. Before a thermostat, please check this VIN for calibration updates, compare coolant temperature with intake air after a cold soak, and inspect the sensor and connector."

P0128 and fans that will not quiet down? Check the sound free: fans, water pump, engine health →

What does a P0128 problem sound like, when most of them make no sound at all? A thermostat stuck open is silent, and the few owners in the federal file who describe a sound describe fans. A 2019 Acadia owner reported cooling fans running "creating a loud "screaming" fan noise," and a 2021 Acadia owner said the "engine fan ran very loudly for at least 15 minutes" after shutdown. GM's own bulletins list cooling fans that keep running after the engine is off as a symptom of this code on 2021 crossovers. A whine from the water pump or gurgling behind the dashboard after a coolant job points elsewhere, at a pump or trapped air. Record 30 seconds of the engine idling with the hood open and PulsCar's free check returns a likely cause, severity and a repair-cost estimate for what it can hear, or "inconclusive" when, as with most P0128 causes, there is nothing to hear. Free, no card, no subscription.

The report arrives by email, so use an address you actually read. Sounds heard without any warning light are covered in our no-warning-light study.

Route 3 · The code appeared or came back after a cooling system repair — seating, air and the wrong part

🟢 Documented — Kia PS267 (thermostat not indexed), Hyundai 20-EM-002H (air bleed), Subaru 11-111-12R (air pocket), GM PIP5940 (housing only)
return to the shop
💰 Cost — often the original shop's comeback; a re-bleed or reseat otherwise
⚪ $0–$210
📋 The catch — a second thermostat installed the same way fails the same way
ask what changed

The tell. P0128 appears within days or weeks of a thermostat, water pump, radiator or coolant job. A gurgle behind the dashboard, heat that comes and goes, or a coolant level that drops after the first few drives.

What it actually is. A thermostat not seated in its housing, air left in the system, or a part that is not the right one. Kia's pit stop bulletin PS267, March 2013, for 2010-2013 Forte, tells technicians facing a repeat P0128 after a thermostat to remove the housing and check whether it "was installed incorrectly during the previous repair," then index it on its tab so that "No movement should be possible."

Air in the system. Subaru's 11-111-12R, for 2011-2012 Legacy, Outback and Tribeca six-cylinders, notes "An air pocket within the coolant system can also cause the code to set," and released a heater hose pipe with an orifice. Hyundai's 20-EM-002H, July 2020, for certain 2019 Elantra 2.0L cars, replaces the thermostat and requires the technician to "air bleed the cooling system after refilling."

Parts that are not needed. GM's PIP5940, September 2023, changed the 3.6L procedure for 2017-2023 Acadia and XT5, 2020-2023 Blazer and XT6, 2017-2019 LaCrosse and 2018-2020 Regal to the housing only, "due to parts being replaced that are not needed."

What owners report. A 2020 Acadia owner wrote, "After replacing the engine coolant temperature sensor and harness the vehicle still does it." A 2020 Blazer owner paid for a thermostat and wrote: "Worked fine for two months then code and issues come back." At least 10 of the 110 complaints describe a repeat after parts.

The cheap cause that gets skipped. The comeback visit. A repeat within weeks is the first shop's question to answer before anyone else bills a diagnosis.

Fix it yourself — watch the level and listen. With the engine cold, check the reservoir daily for a week and top up to the mark with the specified coolant. A gurgle from the dash at startup means air. The honest limit: many engines need a vacuum fill or a scan-tool bleed routine, and a hot system under pressure scalds; if the level keeps dropping, go to the coolant leak guide.

At the shop — say this: "P0128 returned after your thermostat repair. Please check the thermostat is seated and indexed, confirm the part number matches the current one for this VIN, and re-bleed the system before replacing anything."

Which P0128 repairs does a manufacturer pay for, and which are yours? Documents draw the line, not the service writer. A 2021 Blazer, Acadia, XT5 or XT6 inside GM's Special Coverage N252508350 gets its thermostat housing for 15 years or 150,000 miles, and an owner who already paid can claim reimbursement until 30 November 2026. A 2021 3.6L crossover also gets GM's 22-NA-054 reprogram under the emission warranty, 8 years or 80,000 miles. A 2024-2025 Compass on Stellantis' VIN list gets a thermostat under warranty. A 2017 Elantra in Hyundai's campaign TLL gets one whether or not the code has set. A 2019 or 2020 Blazer with the same symptoms is outside every coverage we found, and that is the gap owners describe in their complaints. A software update is often covered while the car is inside warranty. PulsCar's free check gives a first read of a cooling sound; the documents decide who pays.

Route 4 · A 2017-2023 GM 3.6L crossover: Steering Assist Reduced, no A/C, gauge on C, fans roaring

🟢 Documented — GM 17-NA-158, PIT5967, 22-NA-054, PIP5940, Special Coverages N252508350 and N242484760
documents first
💰 Cost — free inside a coverage; owners report dealer bills outside it
⚪ $0–$1,700
📋 The catch — the steering message sends people to the steering gear; GM says the cause is the coolant signal
not the rack

The tell. A Driver Information Center message, Steering Assist Reduced, Drive With Care. The temperature gauge drops to C or zero. The A/C stops blowing cold. The cooling fans run at full speed, sometimes for many minutes after shutdown. Remote start or auto stop may stop working. Scanning finds P0128, sometimes with U0401 or P01F0.

Why steering and temperature are connected. GM's 17-NA-158, May 2017, for the 2017 XT5 and Acadia with the LGX 3.6L: "The Steering Assist Reduced issue is caused by an invalid coolant temp signal from the ECM." The steering module uses coolant temperature to add assist when the grease is cold and thick; when that value goes invalid, the function shuts off. The bulletin's warning: "Do Not replace the power steering gear for DTC U0401:71."

Why the fans roar and the A/C quits. GM's PIT5967, January 2023, extends it to 2017-2023 Acadia and XT5, 2019-2023 Blazer, 2018-2023 Traverse and Enclave, and 2020-2023 XT6. If the computer may be reading coolant temperature incorrectly, a steering message comes on "to protect the steering gear in the event of an undetected overheat condition." Diagnose P0128 first, then see whether the message clears.

The 2021 model year, twice. GM's 22-NA-054, March 2022, for 2021 Blazer, Acadia, XT5, XT6 (LGX) and Traverse and Enclave (LFY), lists a check engine lamp, "Temperature Gauge inoperable" and fans staying on, and blames "an ECM (Engine Control Module) calibration timing error," a 0.3-hour reprogram under the 8-year or 80,000-mile emission warranty. Then N252508350, 21 October 2025, for certain 2021 XT5, XT6, Blazer and Acadia: a condition that "could cause the engine coolant thermostat to open at a lower temperature than intended," covered for 15 years or 150,000 miles, 1.9 hours, with reimbursement claims by 30 November 2026. GM's N242484760 gave the 2021 Camaro the same coverage in February 2025.

What owners report. This group is the story of the federal file: 65 of the 110 complaints naming P0128 come from Blazer, Acadia and XT5 models from model year 2017 on, and 51 of those 65 mention steering. The group's complaints rose from 2 in 2022 to 13 in 2024, 20 in 2025 and 27 in 2026 through 8 September. A 2019 Blazer owner wrote that the code "does not resolve after expensive repairs of coolant Temperature sensor and thermostat multiple times." Another explained, "I reset the code with a code reader and it stays off for a few months usually." A 2020 Blazer owner wrote, "I have paid $3500.00 to have my vehicle fixed," including an engine computer. We found no recall and no NHTSA investigation for this condition in the agency's files.

The cheap cause that gets skipped. The model year on the VIN. Owners of 2021 cars often pay before asking about the coverage.

Where this does not apply. A steering message with no P0128 goes to normal steering diagnosis, as PIT5967 itself says. And a gauge that really climbs is Route 5.

At the shop — say this: "Steering Assist Reduced with P0128 on a 3.6L. Per 17-NA-158 and PIT5967, please diagnose P0128 before any steering part, check this VIN for 22-NA-054 and Special Coverage N252508350, and put the coolant temperature readings on the repair order."

Route 5 · P0128 with overheating, coolant loss, white smoke or misfires — not a cold engine

🟢 Documented — Ford TSB 20-2234 (EGR cooler, white smoke), GM PIP5839A (sensor reading cool, engine running hot), Ford SSM 48991 (over temperature warning)
stop and check
💰 Cost — from a sensor to a water pump, EGR cooler or head gasket
⚪ $100–$3,000
📋 The catch — a cold code on a hot engine lulls owners into driving on
tow if hot

The tell. P0128 together with a gauge heading to H, an over temperature message, a low coolant warning, a sweet smell, white exhaust smoke, P0217, P2181 or misfire codes.

How a cold code rides with real heat. GM's PIP5839A, March 2022, for 2.0L LSY engines in 2019-2022 Cadillac, Blazer, Acadia and Envision models, describes a coolant temperature sensor on the pump outlet pipe "reading noticeably cooler" than the others, which can keep coolant from the radiator and cause "Potential engine overheating." Ford's TSB 20-2234, July 2020, for 2019-2020 Edge and Nautilus 2.0L, pairs P0128 and P0217 with "low coolant level, white smoke from the tailpipe" and an over temperature warning, and inspects the EGR cooler.

What owners report. Only 3 of the 110 complaints describe an engine that actually ran hot. A 2015 Chrysler 200 set P0128 and P2181: "FIRST ENGINE LIGHT COME UP THEN CAR STARTED TO OVERHEAT." A 2019 Nautilus 2.0L owner described a "sudden low-coolant warning followed by rapid overheating" and a tow.

The cheap cause that gets skipped. A cold look at the coolant reservoir, the oil cap and the ground under the car. Coolant that vanishes with no puddle is the expensive direction, and the P0300 guide explains coolant reaching the cylinders.

Where this does not apply. A gauge that stays low with no coolant loss is Route 1 or 2. For the heat side, the overheating guide is the triage and also ranks what fails, and overheating at idle covers fans. A leak is priced in the coolant leak repair guide, a pump in the water pump guide, and a radiator in the radiator guide.

At the shop — say this: "P0128 but the car ran hot and is losing coolant. Please pressure test the cooling system, check for combustion gas in the coolant, and tell me before replacing any thermostat."

What does fixing a P0128 code actually cost in 2026? Mostly a cheap code with an expensive impostor. When the engine is truly running cold, the bill is a thermostat at $150 to $350 installed, or a plastic housing assembly at $200 to $600, plus a coolant bleed if the quote lists it at $80 to $210. When the thermostat is fine, the fix may be a coolant temperature sensor at $100 to $250, or a computer reprogram that GM and Ford list at 0.3 hours and often cover under warranty. Owners of GM 3.6L crossovers report paying $600 to $1,700 at dealers, while the same housing on a covered 2021 VIN costs nothing. The expensive answers belong to Route 5, where a cold code rides along with real heat: a water pump at $400 to $1,500 or a head gasket at $1,500 to $3,000. PulsCar's free check hears a pump whine or a fan; a cold code itself is silent.

What we counted for P0128 in the federal complaint file

Our sample: every vehicle complaint in NHTSA's public complaint files received between 1 January 2015 and 8 September 2026, de-duplicated by report number: 777,040 unique owner reports, counted on 16 September 2026. We searched each description for the exact code P0128.

The code is rare, and rising. 110 complaints name P0128; one more wrote P128 and we left it out. By year received: 8 in 2023, 15 in 2024, 26 in 2025 and 35 in 2026 through 8 September.

One group explains the rise. 65 come from Chevrolet Blazer (35), GMC Acadia (22) and Cadillac XT5 (8) models from 2017 on; 51 of the 65 mention steering, 26 the A/C, 22 the gauge and 21 the fans. No Traverse or Enclave complaint names the code. The next nameplates are the Jeep Renegade (6), Chrysler 200 (4) and Jeep Cherokee (4). These are owner accounts, not audited records, and too few to rank reliability; the GM cluster is news because GM's own bulletins describe it.

What owners describe. 76 mention the thermostat, 31 a sensor. 13 use a form of overheat, but only 3 describe an engine that ran hot. At least 10 describe the code returning after a thermostat, sensor or computer was replaced. Only 3 carry the towed flag. Two recall numbers appear in the texts; both are unrelated recalls, a Kia trailer hitch and a Jeep Renegade fuel pump.

What 1,899 thermostat complaints actually describe

The 110 complaints above are the ones where somebody typed the code. Most owners describe the part instead, so we widened the net: every complaint in the same 777,040 whose text mentions a thermostat at all — 1,899 of them. The shape of that population is the single most useful fact on this page, and it is not the one a P0128 owner expects.

Wording about overheating — overheat, ran hot, red zone, steam, a needle that climbed
614 · 32.3%
Wording about running cold or no heat — stuck open, never warms up, gauge stays low, no heat
87 · 4.6%
Both kinds of wording in one report
15
Neither — leaks, water pumps, parts delays, billing disputes
1,213

Overheating wording outnumbers running-cold wording by about seven to one. And the severity flags split the same way. Across all 777,040 complaints, 5.11% carry the towed flag and 1.82% the fire flag. In the 614 overheating reports the towed rate is 7.49% and fire 2.12% — both above baseline. In the 87 running-cold reports, not one carries the towed, crash or fire flag — zero of 87, across eleven and a half years of federal complaints. (A narrative can still mention a tow the owner arranged; what is zero here is the flag NHTSA records.)

That is a fact about what reaches a safety agency, not a failure rate, and the difference matters. NHTSA collects safety problems. A thermostat that sticks shut strands people on a shoulder with steam coming out, and they report it. A thermostat stuck open — the P0128 side — costs heat, fuel economy and an inspection pass, and almost nobody writes to the federal government about that. There is no denominator here, so seven to one is not a failure ratio and cannot be turned into one.

What it does justify is the tone of this guide. The dangerous half of the thermostat story is the half that runs hot, and P0128 is not that half — which is why Route 5 exists, and why the honest answer to "can I keep driving?" is different for a cold gauge than for a climbing one.

Two more numbers from the same set. The median odometer among the 922 reports that state one is 78,728 miles, close to the 70,000-mile median across all complaints — a thermostat is a mid-life part, not an end-of-life one. And in the overheating subset the median is 90,000 miles, against 80,000 in the running-cold subset, which is a small sample and should be read as a hint rather than a rule.

Download the data. Three CSVs and the full method are published for reuse under CC BY 4.0, including our per-complaint categories so the reading can be checked: hot versus cold subsets with severity flags, all 1,899 complaints by make and model, 30 running-cold reports read in full and categorized, and the method.

"No heat" and "the engine runs cold" are not the same complaint

We drew 30 of those 87 running-cold reports at random and read them end to end, because keyword counts lie in exactly this area. They did.

15 of the 30 describe an engine genuinely running cold: a thermostat named as stuck open, a gauge that never rises, P0128 or P0126 quoted, a warm-up that never finishes. 11 of the 30 describe a cabin heat failure with a different cause — a heater core, a blend door, an actuator. Several are one-sided, warm on the driver's side and cold on the passenger's, which no thermostat can do. In most of those eleven, the thermostat appears only as something already replaced, or ruled out, before the real part was found. 3 are overheating stories in which the heat quit because the coolant was gone. 1 is off target.

So the phrase "no heat" is about half precise for the thing P0128 describes. That is why this page does not scale fifteen-thirtieths up to the 87 and publish a number — we report the read as a read.

The diagnostic consequence is worth more than the statistic. The gauge decides which problem you have, and it costs nothing to look at.

  • Gauge reaches normal, cabin stays cold → not a P0128 story. The engine is at temperature; the heat is being lost between the coolant and the vent. Heater core, blend door, actuator, air in the heater loop, or low coolant. A thermostat will not fix it, and several owners in our sample paid for one first.
  • Gauge sits low or wanders down at speed, cabin lukewarm → the P0128 story, Route 1 or Route 2.
  • Gauge normal, one side of the car warm and the other cold → a blend door or actuator, every time. No cooling-system part is capable of being selective about seats.
  • Gauge climbing, heat suddenly gone → Route 5. Coolant loss makes the heater quit early, and this is the version that gets cars towed.

At the shop — say this: "Before anything is replaced, tell me what the coolant temperature reads on the scan tool after a fifteen-minute drive, and whether the heater is failing with the engine at temperature or below it." Those two sentences separate a $30 actuator from a $350 thermostat job, and they are the question the complaint file shows owners skipping.

The recall search that comes back empty

A reasonable owner assumes that a part which can leave you without defrost in January would be recalled eventually. We checked, because a null result is worth publishing when a reader would otherwise assume the opposite.

Searching every safety recall NHTSA published for our window — defect text, component field and remedy text — three campaigns name a thermostat: two Blue Bird bus recalls and one Keystone travel-trailer recall. Not one passenger vehicle. Searching the same fields for a coolant temperature sensor returns zero campaigns.

That is not an oversight. A recall is a safety instrument, and an engine running below its target temperature is an emissions and comfort problem: worse fuel economy, a failed inspection, a cold cabin. It is handled through the other system — warranty extensions, special coverages, emissions warranties and service campaigns — which do not appear in the recall lookup that most owners run.

The practical consequence is the whole reason Route 4 exists. A clean VIN check on NHTSA's recall page tells you almost nothing about P0128, because the documents that pay for this repair are not recalls. GM's thermostat housing coverage on the 3.6L crossovers is a special coverage. Mazda's is a Special Service Program. Neither will ever show on a recall lookup. Ask the dealer for campaigns, not recalls, and ask in those words.

Mazda's answer: fifteen years, and then a plug instead of a thermostat

The clearest published example of a manufacturer treating a stuck-open thermostat as its own responsibility belongs to Mazda, and it has an ending nobody predicted.

The extension. Mazda's owner letter of November 2024 announces Special Service Program D8, covering 2018-2025 CX-5, 2019-2023 Mazda3, 2019-2022 CX-3, 2018-2021 Mazda6 and 2020-2023 CX-30. The problem, in Mazda's words, is the check engine light with DTC P0126 "due to the fail-safe thermostat being stuck open" inside the coolant control valve. The warranty for that repair is extended to 15 years (180 months) or 150,000 miles, whichever comes first, from the original warranty start date — one of the longest terms on any cooling component we have read, and far beyond any normal powertrain warranty.

The symptom list in that letter reads like a description of this entire page: "Engine takes longer to warm up. Engine temperature gauge fluctuates. Low coolant temperature indicator (blue) light stays on longer or turns on while driving. Poor heater performance, especially at idle." Mazda also limits it plainly — if the light turns out to be unrelated to the stuck-open thermostat, "the inspection and repair are not covered under this program" — and directs owners who already paid to a VIN-based reimbursement site.

The ending. A dealer letter dated 4 December 2025 changes the repair itself. Effective 8 December, Mazda writes, every repair under the program "replaces the thermostat with a dummy plug for the coolant control valve (CCV) along with a required software update for the PCM." Dealers are told to quarantine their remaining thermostat stock for return, that a missing software-update record will cause the warranty claim to be rejected outright, and that skipping the software "could also potentially damage the engine which would not be covered by warranty."

Read that twice, because it is the most explicit statement in any document on this page of a principle the rest of the guide argues from evidence: the manufacturer's final answer to a stuck-open thermostat was to delete the thermostat and change the software. The part was not the fix. The calibration was.

And it is not finished. A Dealer Re-Work notice, DRW59 of 4 April 2026, covers certain 2026 CX-30 and Mazda3 models where "the check engine light may illuminate with DTC P0126:00 (Thermostat stuck open) stored" — the same code, on cars that were new this year.

Where this does not apply. All of it is Mazda, all of it is P0126 rather than P0128, and none of it transfers to another brand. What transfers is the question: is there a campaign on my VIN for this code, and what does its current revision say the repair is? A program that changed its own remedy twice in fourteen months is a reminder that the answer has a date on it.

Pull your car's own P0128 record in 10 minutes

Everything above came out of files anyone can open. Here is the same path for one car — yours — in the order that answers the money question fastest.

1. Run the VIN for open recalls first, and expect nothing. NHTSA's VIN lookup returns open, unrepaired safety and emission recalls. For a cooling-temperature code it will almost certainly come back clean, for the reason in the section above — that is information, not relief.

2. Then ask for campaigns, which is the word that matters. A dealer service adviser can read the full campaign history off the VIN — special coverages, warranty extensions, service programs, customer-satisfaction campaigns, open and closed. Ask in that phrasing: "every campaign on this VIN, open or closed, including special coverages and service programs." This is where GM's housing coverage and Mazda's SSP D8 live.

3. Read the bulletins for your year, make and model. NHTSA republishes every manufacturer communication it receives; the field layout describes the columns, and the PDFs sit under static.nhtsa.gov with the same numbers used in the Sources list below. Walking in with a document number changes the conversation. Our Check Engine Code Index does this across the seventeen most common codes.

4. Read other owners' complaints on the same car. NHTSA's public API answers a plain query — api.nhtsa.gov/complaints/complaintsByVehicle with a make, model and model year — and the complaint field layout explains every column. Read ten reports for your car and note the mileages. One caution from our own use of it: the recall endpoint has returned a campaign against model years the campaign's own Part 573 report does not list, so confirm any year range against the PDF.

5. Write down the in-service date. The date the car was first sold — not built, not the model year — starts every coverage above, including Mazda's fifteen years. A dealer can read it off the VIN in seconds, and it belongs on the same sheet of paper as today's odometer.

6. File your own complaint if the answer is no. Every number on this page exists because owners did. A complaint is free and public, it builds the record the next owner reads, and it is what NHTSA screens when deciding whether a pattern deserves an investigation.

What a shop actually does with a P0128, checkpoint by checkpoint

Checkpoint 1 — the VIN lookup. "What bulletins, campaigns and special coverages show for this VIN and P0128?" Free, and on a 2021 GM crossover, possibly the whole conversation.

Checkpoint 2 — the temperature. "What did coolant temperature do on a warm-up drive, and what did intake air read after a cold soak?"

Checkpoint 3 — the part number. "Is this thermostat or housing the manufacturer's current part for this VIN?"

Checkpoint 4 — the fee and the ceiling. "What does diagnosis cost, does it credit toward the repair, and will you call before anything over this figure?" Expect ⚪ $80 to $150 at an independent shop; our diagnostic cost guide explains the range.

Three P0128 traps that cost owners the most

Trap 1: the thermostat sold on the code. The situation: P0128, but the gauge and heat are normal. What the shop says: "P0128 is always the thermostat." What is really happening: GM's 20-NA-109 and PIP5685, Ford's SSM 47751 and Mitsubishi's TSB-26-14-001 tell dealers not to replace parts for certain P0128 cases. Price versus bill: a VIN lookup and a temperature log, against ⚪ $150 to $600. Your protective question: "What coolant temperature did you record, and is there a calibration update for this VIN?"

Trap 2: the steering gear on a GM crossover. The situation: Steering Assist Reduced on a 3.6L Acadia, Blazer or XT5. What the shop says: "The steering rack is setting a fault." What is really happening: GM's 17-NA-158 says the message comes from an invalid coolant signal, and not to replace the gear for that U0401 code. Price versus bill: diagnosing P0128, against a steering gear. Your protective question: "Is P0128 stored, and has it been fixed before any steering part?"

Trap 3: the second thermostat. The situation: P0128 returns weeks after a new thermostat. What the shop says: "Bad part. We'll put in another." What is really happening: Kia's PS267 finds thermostats not indexed in their housings, and Subaru and Hyundai name trapped air. Price versus bill: a reseat and bleed, against a second ⚪ $150 to $350. Your protective question: "Was the first one seated on its tab and the system bled, and what does live temperature show now?"

Three P0128 quotes, decoded

These are composite scenarios, not individual customers — the mileages and outcomes are typical of the patterns in the documents and complaints above, assembled so the arithmetic is visible. We do not publish invented testimonials.

Scenario 1 — the winter Jeep. A 2016 Cherokee at 90,000 miles, P0128 in November, lukewarm heat. The live temperature log stops well short of normal and the upper hose warms in a minute. Thermostat and coolant: ⚪ $290. Lesson: when the gauge, the heat and the hose agree, the thermostat really is the cheap answer.

Scenario 2 — the thermostat that was not the problem. A 2020 Ram 1500 3.6L with P0128 and normal heat. The first quote is a thermostat, ⚪ $320. The dealer runs STAR S2118000009's resistance test first; the sensor reads below 1MΩ. Sensor: ⚪ $180. Lesson: a five-minute meter reading was worth more than the part everyone expected.

Scenario 3 — the 2021 Acadia. Steering Assist Reduced, fans roaring. An independent quotes a housing at ⚪ $900. The dealer's VIN lookup shows N252508350. Same housing, $0; and if the owner had already paid, GM's reimbursement claim runs until 30 November 2026. Lesson: the most expensive quote and the free repair were the same job, one VIN lookup apart.

Clearing P0128 before an inspection: why it comes back

Clearing the code turns the light off and resets the emissions readiness monitors to not ready; GM's bulletins warn that clearing powertrain codes "will set the Inspection/Maintenance (I/M) system status indicators to NO." A cold-running engine may never finish them. A 2011 Outback owner told NHTSA the P0128 light made the car impossible to pass smog. Fix the cause, then drive normally for several days before the test.

Four P0128 playbooks for where you are right now

"The light just came on, gauge and heat seem off." Check coolant cold, log a warm-up with a scanner, feel the upper hose, record 30 seconds of idle. Book a thermostat check this week.

"The gauge climbs or coolant is disappearing." Stop driving. The overheating guide first; a pressure test before any part.

"A shop wants to replace the thermostat again." Ask whether the first one was indexed and bled, and for the temperature log. Route 3.

"GM 3.6L with the steering message." Ask the dealer to run the VIN for 22-NA-054 and N252508350 and to diagnose P0128 before any steering part. Keep every receipt for reimbursement.

After the P0128 fix: verify, then prevent

Verify with a warm-up, not a dark dashboard. Ask for the before-and-after coolant temperature on the invoice, and log your own next cold start. Heat should be properly hot and the gauge should hold on the highway. Check the coolant level cold for a week after any repair.

Record a healthy baseline. Thirty seconds of a normal idle with the hood open, fans quiet, turns the next change into a comparison. More context sits in the check engine light guide, the most expensive check engine codes and the P0171 guide.

The P0128 plan: 10 minutes, today, this week

Next 10 minutes — free:

  1. Check the coolant level with the engine cold.
  2. Watch the gauge on a cold start and note the heat.
  3. If the gauge climbs or coolant is low, stop driving.

Today:

  1. Read codes, freeze frame and live coolant temperature.
  2. Record 30 seconds of idle and run a free sound check.
  3. Look up bulletins and special coverages for your VIN.

This week:

  1. Replace the thermostat only after the temperature log agrees.
  2. On a repeat code, ask for seating, bleeding and software checks before parts.
  3. After the repair, get before-and-after temperatures in writing.

Sources and documents

Primary documents, opened and read. Model years, dates and quoted phrases come from the documents. ⚪ marks estimates and owner reports.

  1. California Code of Regulations, title 13, section 1968.2 — OBD II thermostat and coolant sensor monitoring. Text
  2. GM 17-NA-158, May 2017 — steering message from invalid coolant signal. PDF
  3. GM PIT5967, January 2023 — steering message with P0128. PDF
  4. GM 22-NA-054, March 2022 — 2021 calibration timing error. PDF
  5. GM Special Coverage N252508350, 21 October 2025, and N242484760, February 2025 — 15 years or 150,000 miles. N252508350 · N242484760
  6. GM PIP5940, September 2023 — 3.6L housing only. PDF
  7. GM PIP5685, October 2019, and 20-NA-109, May 2020 — do not replace the thermostat. PIP5685 · 20-NA-109
  8. GM PIP5839A, March 2022 — 2.0L sensor reading cool, overheating. PDF
  9. Stellantis 18-016-13, April 2013 — predicted versus actual temperature. PDF
  10. Stellantis 07-006-24 Rev. B, 24 September 2024 — thermostat stuck open. PDF
  11. Stellantis STAR S2118000009, May 2021 — sensor insulation test. PDF
  12. Stellantis parts issue 9100287, 18 January 2024 — 3.6L thermostat, refers to STAR S2309000014. PDF
  13. Stellantis 18-022-17 Rev. A, March 2017, and 18-061-16 Rev. C, November 2016 — 2.4L flashes. 18-022-17 · 18-061-16
  14. Ford SSM 47751, January 2019, and TSB 19-2116, April 2019 — Fiesta. SSM 47751 · 19-2116
  15. Ford SSM 48991, July 2020, and TSB 21-2168, 1 June 2021 — 2.7L sensor and wiring. SSM 48991 · 21-2168
  16. Ford TSB 20-2234, July 2020 — 2.0L EGR cooler. PDF
  17. Hyundai 16-01-034-2, August 2016, 18-01-012, April 2018, 20-EM-002H and 20-FL-012H, 2020. 16-01-034-2 · 18-01-012 · 20-EM-002H · 20-FL-012H
  18. Kia PS267, March 2013, ENG176, September 2017, ENG211, January 2020. PS267 · ENG176 · ENG211
  19. Subaru 09-56-13, 11-111-12R and 09-75-21. 09-56-13 · 11-111-12R · 09-75-21
  20. Mazda 01-021/13, Toyota T-SB-0045-13, Nissan NTB21-006A, Acura 17-048. Mazda · Toyota · Nissan · Acura
  21. Mitsubishi TSB-26-14-001, June 2026, and SC-26-001, July 2026 — 2026 Outlander. TSB · Campaign
  22. Mazda SSP D8 owner letter, November 2024 — 2018-2025 CX-5, 2019-2023 Mazda3, 2019-2022 CX-3, 2018-2021 Mazda6, 2020-2023 CX-30; fail-safe thermostat stuck open, DTC P0126; warranty extended to 15 years (180 months) or 150,000 miles from the original warranty start date; VIN-based reimbursement. Letter (PDF)
  23. Mazda dealer letter, TSB 01-003/25 repair and parts update, 4 December 2025 — the SSP D8 repair becomes a dummy plug for the coolant control valve plus a required PCM software update; thermostat stock quarantined. Letter (PDF)
  24. Mazda Dealer Re-Work DRW59, 4 April 2026 — certain 2026 CX-30 and Mazda3, check engine light with DTC P0126:00. Notice (PDF)
  25. Our thermostat complaint analysis — 1,899 complaints mentioning a thermostat out of 777,040; overheating wording 614 versus running-cold wording 87; severity flags against the all-complaint baseline; 30 running-cold reports read in full and categorized; recall search returning no passenger-vehicle campaign. Method · hot versus cold (CSV) · by make and model (CSV) · 30 reports read (CSV) · CC BY 4.0
  26. Our complaint sample — 777,040 complaints received 1 January 2015 to 8 September 2026, exact code P0128. Field definitions · 2025-2026 file

What we looked for and did not find. STAR S2309000014 is not in NHTSA's file. No document we found covers 2017-2020 GM 3.6L thermostats beyond normal warranty.

Related: thermostat cost, coolant leaks, our story.


Prices verified September 2026 and reviewed quarterly — no estimator site would serve our checks in this pass, so the dollar ranges are carried forward unchanged and remain marked as estimates. Technical documents verified September 2026: the Mazda documents added in this update were downloaded from static.nhtsa.gov and read on 18 September 2026.

Had P0128 fixed, or paid for a part that did not fix it? Email [email protected] with the year, engine, mileage and the real cause.