Go-Parts
Cart 0
Your cart is empty
Add an item to see it appear here.
Wrenchy
Go-Parts Garage
Expert guides for diagnosing, troubleshooting, and replacing auto parts Expert guides for diagnosing and replacing auto parts
Browse All Articles →
🧭 Diagnostic Flowchart 🎬 Helpful Videos 🛍️ Shop This Part

P0128 on 2013-2014 Subaru Legacy 2.5L: Causes and Fixes for Low Coolant Temperature

The P0128 code on a 2013-2014 Subaru Legacy almost always points to a faulty thermostat that is stuck open. Replacing the thermostat and gasket is the most common fix. Expect to pay around $20-$40 for an aftermarket part or $40-$60 for the updated OEM part (21210AA211), which is highly recommended.

17 minutes to read 2013-2014 Subaru Legacy
Most Likely Cause
Failing or Stuck-Open Thermostat
Difficulty
3/5
Est. Time
1.5 hrs
DIY Doable?
✅ Yes
Shop Labor
$150 – $350
Parts Price
$25 – $80
⚠️ Drivable, but... — You can continue driving, but it's not recommended for long. An engine that doesn't reach full operating temperature will have poor fuel economy, increased emissions, and may experience long-term carbon buildup. On Subarus, this code will also typically disable the cruise control and other systems like traction control as a safety precaution, indicated by flashing lights on the dashboard.
Key Takeaways
  • P0128 on your 2013-2014 Legacy means the engine is running too cold, not overheating.
  • The most likely cause by a wide margin is a thermostat that is stuck in the open position.
  • Subaru released an updated thermostat (Part No. 21210AA211) to fix this exact problem, so using the OEM part is strongly advised to avoid repeat repairs.
  • This is a manageable DIY repair for those with basic tools, but requires draining and refilling some coolant and careful bleeding of the system.
  • Do not ignore this code; it will negatively impact your fuel mileage, increase emissions, and disable systems like cruise control.
The trouble code P0128, defined as "Coolant Temperature Below Thermostat Regulating Temperature," means the engine's computer (ECM) has detected that the engine is not reaching its proper operating temperature within a predetermined amount of time after being started. Essentially, the engine is running too cool. The ECM expects to see the coolant temperature rise to about 190-200°F, and when it doesn't happen as quickly as expected, it triggers the Check Engine Light.

What's Unique About the 2013-2014 Subaru Legacy

For this specific generation of Subaru Legacy with the 2.5L FB25 engine, Subaru issued a Technical Service Bulletin (TSB 09-56-13) regarding the P0128 code. The TSB indicates that in some cases, coolant could seep into the thermostat's internal piston during a cold soak, causing it to open at a lower temperature than specified, which directly leads to this code. This confirms a known weakness in the original-spec part (21210AA210), making thermostat failure a very high-probability cause and the updated countermeasure part (21210AA211) the recommended fix. Manufacturer TSB Bulletin #09-56-13 explicitly notes that if coolant enters the internal piston, the thermostat may open at a temperature lower than specified, causing DTC P0128 to be stored in the ECM memory.

Symptoms You May Notice

  • Check Engine Light is on
  • Flashing cruise control light and illuminated traction control light (a common Subaru behavior when the Check Engine Light is on).
  • Temperature gauge on the dashboard reads lower than normal, takes a very long time to move, or drops at highway speeds.
  • Heater blows lukewarm air or takes much longer than usual to produce hot air.
  • A noticeable drop in fuel economy.
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the coolant temperature sensor when the thermostat is the actual problem. Always diagnose the thermostat's physical operation before replacing sensors.
  • Assuming a new aftermarket thermostat is good. Many owners report having to replace a new aftermarket part with an OEM one to finally resolve the code.

Most Likely Causes

  1. Failing or Stuck-Open Thermostat 🔴 High Probability → Shop Integrated Thermostat Housing Assembly This is the most frequent cause for P0128 on any vehicle. For this specific Subaru, a TSB (09-56-13) was issued for a faulty thermostat design that could cause it to open prematurely, making this the primary suspect. The failure mode is typically the thermostat getting stuck in the open position.
    How to confirm: After the engine has warmed up, feel the upper and lower radiator hoses. If the upper hose is hot and the lower hose is also warming up at the same time shortly after a cold start, the thermostat is likely stuck open, allowing coolant to circulate constantly through the radiator when it shouldn't be. A properly functioning thermostat would keep the lower hose cool until the engine reaches operating temperature.
    Typical fix: Replace the thermostat and its gasket. It is highly recommended to use the OEM countermeasure part (Subaru Part No. 21210AA211) to prevent recurrence. Refill with Subaru Super Coolant (blue) and properly bleed the system to remove air pockets.
    Est. part cost: $20-$60
  2. Faulty Engine Coolant Temperature (ECT) Sensor ⚪ Low Probability → Shop Engine Coolant Temperature Sensor While less common than the thermostat, a faulty ECT sensor can send incorrect readings to the ECM, causing the P0128 code. This is not a common failure point on this platform but is a possibility.
    How to confirm: Use an OBD-II scanner to monitor the live coolant temperature data. If the reading is erratic, nonsensical (e.g., reads -40°F from a cold start), or clearly doesn't match the engine's actual temperature (which can be verified with an infrared thermometer on the thermostat housing), the sensor is likely bad. A faulty ECT sensor will often trigger other codes like P0117 or P0118.
    Typical fix: Replace the engine coolant temperature sensor. The OEM part number is typically 22630AA140 for this model year.
    Est. part cost: $25-$75
  3. Low Engine Coolant Level / Air in System ⚪ Low Probability
    How to confirm: Visually inspect the coolant overflow reservoir and the radiator (when the engine is cold). If the level is low, it can cause air pockets to form, especially around the ECT sensor, leading to inaccurate readings. This is a common issue after a coolant service if the system was not bled properly.
    Typical fix: Top off the coolant and bleed the system to remove any air pockets. If the level drops again, find and repair the leak. A proper bleed procedure for a Subaru involves using a spill-free funnel and running the engine at an angle or with the front end raised.
    Est. part cost: $20-$30 for coolant

Rare But Worth Checking

  • Cooling Fan Stuck On: → Shop Engine Cooling Fan Blade If the electric cooling fans run constantly, even when the engine is cold, it can prevent the engine from warming up properly. This is usually caused by a failed fan relay or a short in the wiring and is considered a rare cause for this code.
  • Aftermarket Thermostat Issues: → Shop Integrated Thermostat Housing Assembly Owner forums frequently report that aftermarket thermostats, even new ones, can be faulty out of the box or fail quickly, causing the P0128 code to return. Sticking with the OEM part is strongly advised to avoid repeat repairs.

Diagnosis Steps

  1. Check for TSBs: Confirm TSB 09-56-13 applies to your vehicle's VIN. The TSB confirms a known issue with the original thermostat.
  2. Check Coolant Level: Ensure the coolant level in the overflow tank and radiator (when cold) is correct. Low coolant can cause air pockets and temperature reading issues.
  3. Scan Tool Live Data: Connect an OBD-II scanner and monitor the Engine Coolant Temperature (ECT) reading as the car warms up from a cold start. The temperature should steadily climb to around 190-200°F (approx. 88-93°C) and stabilize.
  4. Observe Temperature Behavior: If the temperature rises slowly at idle but drops significantly while driving at highway speeds, this strongly indicates a thermostat stuck open, as the constant airflow over the radiator is over-cooling the engine.
  5. Physical Hose Check: Once the car should be at operating temperature, carefully feel the upper and lower radiator hoses. The upper hose should be hot. If the lower hose is also hot or warming up prematurely, the thermostat is likely stuck open.
  6. Inspect ECT Sensor Reading: If the live data from the scanner is erratic, shows impossible values (like -40°F), or jumps around, the sensor or its wiring is the likely culprit. Compare sensor resistance to a temperature chart for a definitive test.
  7. If all other causes are ruled out, replace the thermostat and gasket with the updated OEM part (21210AA211). This is the most probable fix.

Parts You'll Likely Need

  • Engine Coolant Thermostat (OEM #21210AA211) — This is the most common failure part for code P0128. A specific countermeasure part was released by Subaru to fix a known defect where coolant could seep into the thermostat piston. This part number supersedes the original, problematic part 21210AA210.
    Trusted brands: Subaru (OEM), Motorad, Gates
    OEM price range: $40-$60
    Aftermarket price range: $20-$40
  • Subaru Super Coolant 50/50 Pre-mixed (OEM #SOA868V9270) — The cooling system must be partially drained to replace the thermostat, requiring a refill and bleeding. Using the correct OEM coolant is highly recommended to prevent corrosion and ensure system longevity.
    Trusted brands: Subaru (OEM)
    OEM price range: $25-$35 per gallon
  • Thermostat Gasket (OEM #Included with OEM Thermostat) — A new gasket is required to ensure a leak-free seal. The OEM thermostat part number 21210AA211 includes the gasket.
    Trusted brands: Subaru (OEM)
    OEM price range: $5-$10 if purchased separately
    Aftermarket price range: $2-$5

Technical Service Bulletins (TSBs) & Recalls

  • 09-56-13R: Countermeasure Thermostat Availability for DTC P0128.
  • TSB Bulletin #11-111-12R: Provides diagnostic guidance for P0128, defining it as the engine coolant temperature remaining below the thermostat regulating temperature.

Platform-Specific Known Issues

  • Subaru Technical Service Bulletin 09-56-13R was released for the 2013-2014 Legacy 2.5L FB engine, specifically addressing DTC P0128. It announces a 'countermeasure thermostat' (Part No. 21210AA211) designed to prevent an issue where coolant could enter the thermostat's internal piston during a cold soak, causing it to open at too low a temperature.

Mechanic-Grade Diagnostic Values

  • Engine Coolant Temperature (ECT) Sensor Resistance — expected: Approximately 2,200 - 3,000 Ω at 68°F (20°C) and 250 - 350 Ω at 176°F (80°C).. Failure: Readings that are infinite (open circuit), near zero (short circuit), or do not decrease smoothly as the sensor warms up indicate a faulty sensor.
  • Engine Coolant Temperature (ECT) Sensor Voltage (Signal Wire to Ground) — expected: Approximately 3.0 - 3.5V on a cold start (~68°F/20°C), dropping to around 1.0 - 1.3V at normal operating temperature (~176°F/80°C).. Failure: Voltage that is stuck high (near 5V) or low (near 0V), or does not change with temperature, points to a sensor or wiring issue.

Hidden / Shadow Codes Worth Checking

  • Thermostat Malfunction Flag: → Shop Integrated Thermostat Housing Assembly This is not a standard DTC but a specific status flag within the live data parameters. It indicates the ECM's internal logic has specifically identified a thermostat performance issue, adding confidence to the diagnosis. (see via Viewable in the "Current Data Display" on the Subaru Select Monitor (SSM) or some high-end professional scan tools.)

Scan Tool Commands That Help

  • Subaru Select Monitor (SSM): Cooling Fan Relay ON/OFF — This bidirectional control is used to test the function of the cooling fan circuit. It can force the fans to turn on, confirming the fan motors, wiring, and relays are working. This helps to quickly rule out the rare possibility of a 'cooling fan stuck on' condition causing the P0128 code.

Wiring & Ground Locations

  • GE1 / GE2 — Bolted to the top center rear of the engine block, near the intake manifold.. The ECM and its sensors, including the ECT sensor, rely on a clean ground path through the engine block. A corroded or loose connection at these primary engine grounds can cause erratic or incorrect readings from the ECT sensor, potentially leading to a P0128 code even if the sensor and thermostat are good.
  • Engine Coolant Temperature (ECT) Sensor Connector — Screwed into a coolant passage on the engine, typically near the thermostat housing at the front of the engine.. This 2-pin connector provides the signal and ground reference to the ECM. The plastic can become brittle from heat cycles, leading to a poor connection. Wiggling this connector while monitoring live data can reveal an intermittent connection. One pin is the signal wire to the ECM, the other is a sensor ground provided by the ECM.

Real Owner Repair Stories

  • legacygt.com & subaruoutback.org forum members (2013 Subaru Outback 2.5L (platform mate)) — P0128 code returned one week after replacing the original thermostat with an aftermarket part.
    ❌ Tried (didn't work) Clearing the code., Replacing the thermostat with a new aftermarket unit.
    ✅ What actually fixed it The owner replaced the aftermarket thermostat with the updated OEM Subaru thermostat (part no. 21210AA211). The code did not return, confirming the aftermarket part was either faulty or not meeting the precise specifications required by the Subaru ECM.
  • Various Subaru DIY forum threads (2013-2014 Subaru Legacy/Outback 2.5L) — P0128 code appeared immediately after replacing the thermostat and coolant.
    ❌ Tried (didn't work) Assuming the new thermostat was bad and replacing it again.
    ✅ What actually fixed it The cooling system had an air pocket trapped near the ECT sensor, causing false low readings. The issue was resolved by properly bleeding the cooling system. This involves using a spill-free funnel, parking the vehicle on an incline (nose up), and running the engine with the heater on high to purge all air. Additionally, ensuring the new thermostat's 'jiggle pin' was installed in the 12 o'clock position was critical for allowing trapped air to pass.

When the Usual Fixes Don't Work

  • While the vast majority of P0128 codes on this vehicle are fixed by replacing the thermostat with an OEM part, a recurring theme in owner forums is the code returning after the repair. In nearly all of these cases, the root cause was not a different component failing, but rather one of two things: the use of an aftermarket thermostat that did not meet the ECM's strict warm-up parameters, or an incomplete air bleeding procedure after the coolant was refilled. This reinforces that the 'common fix' is correct, but the execution of the repair is critical and a frequent point of failure for both DIYers and some professional shops.

OEM Part Supersession History

  • 21210AA21021210AA211 — The original part was prone to failure due to coolant seeping into the internal piston, causing it to open at a lower temperature. The updated part is a countermeasure to correct this design flaw, as noted in TSB 09-56-13R.
    Heads up: While the original part will physically fit, it is known to be defective and should not be used. The 21210AA211 kit includes the required rubber gasket.

Diagnostic Flowchart

Real Owner Stories

Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.

2012 Subaru Legacy — ~110000 miles

Symptoms: Triggered a P0128 code after passing the 100k mile mark.

What fixed it: Replaced the thermostat with an OEM Subaru unit. The owner specifically advised DIYers to go to a dealer for the OEM part, noting that aftermarket thermostats are 'hit and miss'.

Source hint: Reddit r/subaru & r/MechanicAdvice

2013-2014 Subaru Outback 2.5L

Symptoms: Experienced the P0128 code accompanied by flashing dash lights (cruise control/traction control).

What fixed it: Successfully resolved the issue by replacing the faulty thermostat with the OEM Subaru replacement.

Source hint: subaruoutback.org

2011 Subaru Outback

Symptoms: Dealt with a recurring P0128 code that would not go away permanently.

What fixed it: Was advised by other forum members that the recurring code was likely due to a defective aftermarket thermostat that had been installed previously.

Source hint: subaruoutback.org

Frequently Asked Questions

Does TSB 09-56-13R apply to my 2013-2014 Subaru Legacy 2.5L?
Yes, TSB 09-56-13R was specifically released for the 2013-2014 Legacy with the 2.5L FB engine. It addresses a known design flaw where coolant could enter the thermostat's internal piston during a cold soak, causing it to open prematurely and trigger the P0128 code.
Why are my cruise control and traction control lights flashing along with the Check Engine Light?
This is a common, built-in Subaru safety behavior. When the Check Engine Light illuminates for a code like P0128, the engine control module automatically disables the cruise control and traction control systems, causing those specific dash lights to flash or stay illuminated.
Should I use an aftermarket thermostat to fix P0128 on my Legacy?
It is highly recommended to avoid aftermarket thermostats for this specific issue. Subaru issued an updated 'countermeasure' OEM thermostat (Part No. 21210AA211) to permanently fix the design flaw. Owner forum reports indicate that aftermarket thermostats are 'hit and miss' and often lead to recurring P0128 codes.
What type of coolant should I use when replacing the thermostat on my FB25 engine?
You should refill the cooling system with Subaru Super Coolant (blue). It is also critical to properly bleed the system using a spill-free funnel, sometimes with the front end raised, to remove air pockets that can cause inaccurate temperature readings.
How can I tell if my thermostat is stuck open while driving?
If your dashboard temperature gauge rises very slowly at idle but drops significantly when you drive at highway speeds, it strongly indicates a stuck-open thermostat. The constant airflow over the radiator at higher speeds over-cools the engine because the thermostat is failing to restrict coolant flow.
Could a bad Engine Coolant Temperature (ECT) sensor cause P0128 on this car?
Yes, though it is much less common than a failed thermostat. A faulty ECT sensor (OEM part 22630AA140) can send incorrect readings to the ECM. You can verify this by checking for erratic live data or impossible values (like -40°F from a cold start) on an OBD-II scanner.
Subaru Outback 3.6 Thermostat Replacement | P0128 Check Engine Code
Subaru Outback 3.6 Thermostat Replacement | P0128 Check Engine Code
Wrenchy
Article researched & written by
Go-Parts' AI research assistant. Every article is backed by live web research, verified OEM data, and real technician knowledge — so you get accurate, up-to-date information you can trust.
Meet Wrenchy → Updated May 30, 2026

The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.

Year Coverage
This article covers the OBD-II Code P0128 (Deep Dive) for:
  • Subaru Legacy: 20132014
In this article
🧭 Diagnostic Flowchart
Jump to ▴

Email This Guide

We'll send you a link to this article so you can read it later or share it.

Added to cart · Part