P0128: How to Diagnose & Fix — Coolant Thermostat Below Regulating Temperature
164 vehicles · 29 makes · $20-$10,500 repair
How to diagnose and fix P0128: most-reported vehicles
Ranked by owner reports. Each card gives the symptoms, how to confirm the cause, the fix, parts and sources for that vehicle.
Subaru Outback · 1999–2010
The 2.5L non-turbo engine is known for external head gasket leaks. Oil seeps past the gasket and can contaminate the coolant. Subaru extended warranties and improved gasket design in later years.
Common Symptoms
- Oil leaking externally from engine
- Coolant mixing with oil (milky appearance)
- Overheating
- Sweet smell from engine bay
- Bubbles in coolant reservoir
How to Fix
Replace head gaskets with updated MLS (multi-layer steel) gaskets. Ensure the machine shop resurfaces cylinder heads to proper flatness. Replace timing belt, water pump, and thermostat while engine is apart. Use Subaru coolant conditioner to help prevent future failures. Budget $1,500-2,500 for a quality repair.
What you need to fix it
Only diagnosis- and fitment-reviewed repair parts are linked here.
- Genuine Subaru 11044AA610 EJ25D Cylinder-Head Gasket
head gasket for each bank on the 1999 2.5-liter branch after failure is confirmed Fitment/availability: 1999 Outback 2.5-liter EJ25D DOHC branch; quantity two, confirm VIN Fitment/availability: ships in 1-3 business days with Add to Cart…
- Genuine Subaru 11044AA633 SOHC Cylinder-Head Gasket
head gasket for each bank on the 2000-2009 naturally aspirated branch Fitment/availability: 2000-2009 Outback naturally aspirated 2.5-liter branch; quantity two, confirm VIN and exclude turbo Fitment/availability: ships in 1-3 business d…
- Genuine Subaru 11044AA770 Cylinder-Head Gasket
head gasket for each bank on the 2010 branch Fitment/availability: 2010 Outback naturally aspirated 2.5-liter EJ253 branch via supersession from 11044AA670; quantity two, confirm VIN Fitment/availability: ships in 1-3 business days with …
- Genuine Subaru 13028AA072 EJ25D Timing Belt
timing belt when removed, due or of unknown history on the 1999 branch Fitment/availability: 1999 Outback 2.5-liter EJ25D DOHC branch; confirm VIN Fitment/availability: ships in 1-2 business days with Add to Cart live when reviewed
- Genuine Subaru 13028AA21B SOHC Timing Belt
timing belt when removed, due or of unknown history on the 2000-2009 branch Fitment/availability: 2000-2009 Outback naturally aspirated 2.5-liter branch; confirm VIN Fitment/availability: ships in 1-3 business days with Add to Cart live …
- Genuine Subaru 13028AA231 Timing Belt
timing belt when removed, due or of unknown history on the 2010 branch Fitment/availability: 2010 Outback naturally aspirated 2.5-liter EJ253 branch; confirm VIN and production date Fitment/availability: ships in 1-3 business days with A…
- Genuine Subaru 13033AA042 Hydraulic Timing-Belt Tensioner
tensioner renewed with a due or unknown-history complete timing service Fitment/availability: 1999-2010 Outback 2.5-liter timing-belt branches in this card; confirm VIN and configuration Fitment/availability: ships in 1-3 business days w…
- Genuine Subaru 21111AA110 Water Pump
early water pump only when failed, leaking, rough, due or selected for unknown-history service Fitment/availability: 1999-2005 Outback 2.5-liter branch within this card; confirm VIN and required seal Fitment/availability: ships in 1-2 bu…
- Genuine Subaru 21111AA280 Water Pump
middle-year water pump when condition or service history warrants replacement Fitment/availability: 2006-2009 Outback naturally aspirated 2.5-liter branch; confirm VIN Fitment/availability: ships in 1-3 business days with Add to Cart liv…
- Genuine Subaru 21111AA320 Water Pump
2010 water pump when condition or service history warrants replacement Fitment/availability: 2010 Outback naturally aspirated 2.5-liter branch; confirm VIN Fitment/availability: ships in 1-3 business days with Add to Cart live when reviewed
- Genuine Subaru 21210AA030 Thermostat and Gasket Assembly
thermostat only when diagnosis or condition warrants replacement on the 2000-2009 branch Fitment/availability: 2000-2009 Outback 2.5-liter branch; the 1999 branch requires VIN-specific selection Fitment/availability: Add to Cart live whe…
- Genuine Subaru 21210AA080 Thermostat and Gasket Assembly
2010 thermostat only when diagnosis or condition warrants replacement Fitment/availability: 2010 Outback naturally aspirated 2.5-liter branch; confirm VIN Fitment/availability: ships in 1-3 business days with Add to Cart live when reviewed
As an Amazon Associate, we earn from qualifying purchases; other part links may also earn au7o a commission. Confirm fitment by VIN before buying.
Owner tips & cautions
- TipDIY repairs can save significantly - dealer charges $1,500-2,500 but DIY costs are typically 50-70% less
- TipUse Subaru coolant conditioner to help prevent future failures.
- WarningThis is a high-severity issue - ignoring it can lead to costly repairs or safety concerns. Address it promptly.
- TipGet a proper diagnosis before replacing parts - similar symptoms can have different causes
Sources for this issue (4)
Toyota Tundra · 2007–2012
The 5.7L V8 water pump is prone to premature failure, often occurring between 40,000-70,000 miles. The water pump uses a spring-loaded seal that can fail, and internal bearing failure is common. If not addressed, this can lead to engine overheating and severe damage.
Common Symptoms
- Coolant leak under vehicle
- Growling noise at idle
- Engine overheating
- Low coolant warning light
- Sweet smell of coolant
How to Fix
Replace the water pump along with thermostat, coolant, and serpentine belt as preventive maintenance. OEM water pump replacement costs $400-$800 including labor.
What you need to fix it
Only diagnosis- and fitment-reviewed repair parts are linked here.
- Toyota 16100-09491 genuine 5.7L engine water-pump assembly
replace a leaking, rough, loose or otherwise test-confirmed failed 5.7L water pump Fitment/availability: 2007-2021 Toyota Tundra 5.7L 3UR-FE/3UR-FBE catalog branch; supersedes 16100-39495, 16100-39496 and 16100-09490, with VIN and engine…
As an Amazon Associate, we earn from qualifying purchases; other part links may also earn au7o a commission. Confirm fitment by VIN before buying.
Owner tips & cautions
- TipDIY repairs can save significantly - dealer charges $400-$800 but DIY costs are typically 50-70% less
- TipReplace the water pump along with thermostat, coolant, and serpentine belt as preventive maintenance.
- TipConsider OEM parts for critical components like sensors and electrical parts - aftermarket can be unreliable
- TipGet a proper diagnosis before replacing parts - similar symptoms can have different causes
Subaru Impreza · 1999–2011
The 2.5L EJ253 naturally-aspirated engine in 1999-2011 Imprezas is notorious for external head gasket failure. The composite head gaskets degrade over time, allowing coolant and oil to seep externally at the gasket mating surfaces. Unlike a typical blown head gasket that causes coolant-oil mixing, Subaru EJ25 head gaskets typically leak externally first. The boxer engine design means gaskets are at the bottom of the heads, making leaks drip downward and often go unnoticed. If left unaddressed, external leaks can progress to internal coolant-oil mixing and overheating.
Common Symptoms
- Oil seepage visible on bottom of engine near head gasket area
- Coolant level slowly dropping without visible external puddles
- Sweet coolant smell from engine bay
- Oil spots on garage floor near front of vehicle
- Overheating in severe cases (internal gasket breach)
- Bubbles in coolant overflow reservoir
How to Fix
Replace both head gaskets with updated MLS (multi-layer steel) gaskets (Subaru OEM 11044AA770 or Six Star MLS set). Resurface both cylinder heads to within 0.002 inch flatness spec. Replace timing belt, water pump (21111AA370), thermostat, and all seals while the engine is apart. Add Subaru Cooling System Conditioner (SOA635071) after repair. Budget 8-12 hours labor for the complete job.
What you need to fix it
Only diagnosis- and fitment-reviewed repair parts are linked here.
- Genuine Subaru 11044AA633 Naturally Aspirated Head Gasket
current OE MLS head gasket after the affected engine and failure are confirmed Fitment/availability: 1999-2011 naturally aspirated 2.5-liter Impreza EJ251/EJ253 applications; quantity two, confirm VIN and engine Fitment/availability: Add…
- Genuine Subaru 21111AA007 Water Pump
water pump only when failed, contaminated or due during accessible timing service Fitment/availability: 1999-2005 naturally aspirated 2.5-liter Impreza branch within this issue; confirm VIN and engine Fitment/availability: ships in 1-3 b…
- Genuine Subaru 21111AA280 Water Pump
later-branch water pump only when failed, contaminated or due during accessible timing service Fitment/availability: 2006-2011 naturally aspirated 2.5-liter Impreza branch within this issue; confirm VIN and engine Fitment/availability: A…
- Genuine Subaru 21200AA072 Thermostat Assembly
thermostat when testing, age or contamination warrants replacement Fitment/availability: Use here for the confirmed 1999-2005 naturally aspirated Impreza branch; verify VIN and catalog split Fitment/availability: ships in 1-3 business da…
- Genuine Subaru 21200AA170 Thermostat Assembly
later-branch thermostat when testing, age or contamination warrants replacement Fitment/availability: 2006-2011 naturally aspirated 2.5-liter Impreza branch within this issue; confirm VIN and engine Fitment/availability: ships in 1-3 bus…
As an Amazon Associate, we earn from qualifying purchases; other part links may also earn au7o a commission. Confirm fitment by VIN before buying.
Sources for this issue (4)
Subaru Legacy · 2000–2009
Toyota Prius · 2004–2009
Find P0128 by make
Browse every documented model and issue for your make.
P0128 code reference
General diagnostic-code context. The code alone does not confirm a cause for your vehicle; use the applicable issue card and its sources.
Frequently asked questions
What does P0128 mean?
P0128 stands for "Coolant Thermostat Below Regulating Temperature." This code means the engine isn't reaching its proper operating temperature within the expected time, so the coolant stays below the thermostat's regulating temperature. The computer estimates how warm the coolant should be (based on run time, airflow, and intake air temperature) and compares it to the actual reading. When the engine warms too slowly or never gets hot enough, P0128 sets. The most common cause is a thermostat stuck open, which can cause reduced heater output, poorer fuel economy, and higher emissions.
What are the most common causes of P0128?
The most common causes of P0128 are: Thermostat stuck open or opening too early, Faulty engine coolant temperature sensor, Low coolant level, Cooling fan running constantly (overcooling), Wrong-temperature-rating thermostat installed, Corroded or loose coolant temperature sensor connector, Air pockets in the cooling system, Faulty PCM/ECM (rare). The specific cause varies by vehicle.
How much does it cost to fix P0128?
Repair costs for P0128 range from $20 to $10,500, depending on the vehicle and root cause.
Which vehicles are affected by P0128?
Au7o has documented P0128 across 164 vehicle models from 29 manufacturers: Audi, BMW, Buick, Cadillac, Chevrolet, Chrysler, Dodge, Ford, GMC, Honda, Hyundai, Infiniti, Jaguar, Jeep, Kia, Lincoln, MINI, Mazda, Mercedes-Benz, Nissan, Opel, Porsche, RAM, SEAT, Skoda, Subaru, Toyota, Volkswagen, Volvo.
Content compiled with AI assistance using NHTSA complaints, TSBs, and owner reports. May contain errors. Always verify with your vehicle's service manual.