๐Ÿšจ 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 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 โ€” an AI tool that identifies car problems from a 30-second recording โ€” after spending $6,000 on misdiagnosed repairs, starting with a $380 bill for an "engine knock" that was a loose heat shield and a $5 zip tie.

How to use this guide

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
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 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.

Find your situation: eight ways people arrive here

"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 your 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 price ladder: read it 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.

Your 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 route is yours? 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 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 reprogrammed 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 judgement 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 AI compares it against catalogued failure patterns, then returns the likely cause, whether it is safe to drive, and a fair 2026 repair price. 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 sorts which family a cooling sound belongs to before the argument about who pays begins.

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, the causes guide 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 listens for the fans and pumps around those failures before anyone quotes that list.

What we counted 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 actually happens at the shop, 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 diagnostic 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 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.

Your situation right now: four playbooks

"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 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.

Your action 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. 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.


Methodology. Documents were downloaded from NHTSA's server and read as text. Complaint counts come from NHTSA's flat files, de-duplicated by report number, counted 16 September 2026; they are owner reports. Prices were checked in September 2026 against published estimates and our own cost guides. All are estimates; coverage depends on your VIN.

Prices verified: September 2026 ยท Technical documents verified: September 2026 ยท Reviewed quarterly

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.