P0128 on 2012-2013 Subaru Impreza 2.0L: Causes and Fixes for Low Coolant Temperature
On a 2012-2013 Impreza, code P0128 is almost always caused by a faulty original thermostat. Subaru issued a technical service bulletin (TSB 09-56-13) for this exact problem and released an updated part. The fix is to replace the thermostat and gasket with the countermeasure OEM part (21210AA211), which costs around $25-$40. This part supersedes the original problematic part (21210AA210).
- P0128 on your 2012-2013 Impreza is a known issue with a straightforward fix.
- The most likely cause is a failed thermostat; Subaru designed an improved replacement part (PN 21210AA211) to solve this.
- Before replacing parts, always check the coolant level first, as a low level can also trigger this code.
- Replacing the thermostat is a DIY-friendly job with basic tools, but it is essential to bleed the cooling system properly afterward to prevent new problems.
What's Unique About the 2012-2013 Subaru Impreza
For the 2012-2013 Impreza with the FB20 engine, this code is frequently tied to a known issue with the original factory thermostat. Subaru released a Technical Service Bulletin (TSB 09-56-13) acknowledging that the original thermostat could fail. The TSB explains that after an extended cold soak, coolant can enter the thermostat's internal piston, causing it to open at a lower-than-specified temperature and trigger the P0128 code. Because of this documented design flaw, a faulty thermostat is the most likely culprit, more so than on other vehicles where diagnosis might be broader.
Symptoms You May Notice
- Check Engine Light is on
- Flashing cruise control and traction control lights (common on Subarus when a CEL is triggered)
- Engine temperature gauge reads lower than normal or takes a very long time to warm up
- Temperature gauge may drop towards cold when driving at highway speeds
- Heater blows lukewarm or cool air, even when the engine is fully 'warmed up'
- Noticeable decrease in fuel economy
- Replacing the coolant temperature sensor when the thermostat is the actual problem. The sensor is simply reporting the low temperature accurately; it has not failed.
Most Likely Causes
- Faulty Engine Thermostat (Stuck Open) 🔴 High Probability → Shop Integrated Thermostat Housing Assembly Subaru issued TSB 09-56-13 specifically for this issue on the 2012-2013 Impreza. The original part was prone to failure, allowing coolant to enter the internal piston and force it open prematurely, especially in cold weather.
How to confirm: Use an OBD-II scanner to monitor live coolant temperature data. Start the car from cold and drive. If the temperature fails to reach and maintain approximately 180-200°F (82-93°C) or if it drops significantly during steady cruising, the thermostat is almost certainly stuck open. The temperature may hover around 170-180°F but refuse to climb higher.
Typical fix: Replace the engine thermostat and its gasket with the updated OEM part. It is critical to orient the new thermostat's jiggle pin (air bleed valve) to the top (12 o'clock position) during installation to allow trapped air to escape. 🎬 Watch: This quick walkthrough shows how to replace the thermostat. After replacement, the cooling system must be properly bled to remove any air pockets.
Est. part cost: $25-$50 - Low Engine Coolant Level 🟡 Medium Probability
How to confirm: Visually inspect the coolant level in the overflow reservoir when the engine is cool. If it is below the 'LOW' mark, the system is low. Also, check for any visible signs of coolant leaks around hoses, the radiator, and the water pump. A slow leak can introduce air into the system, leading to this code.
Typical fix: Top off the system with the correct Subaru Super Coolant (blue). If the level drops again, you must find and repair the source of the leak. A coolant system pressure test is the next step to find an elusive leak.
Est. part cost: $20-$30 for a gallon of coolant - Faulty Engine Coolant Temperature (ECT) Sensor ⚪ Low Probability → Shop Engine Coolant Temperature Sensor
How to confirm: If the temperature gauge on the dash behaves erratically (e.g., jumps from cold to hot instantly) or provides no reading at all, the sensor may be at fault. A more definitive test involves comparing the sensor's resistance to the specifications in the service manual at various temperatures. This is rarely the cause if P0128 is the only code present, as a faulty sensor often triggers its own specific codes like P0117 or P0118.
Typical fix: Replace the engine coolant temperature sensor.
Est. part cost: $20-$60
Rare But Worth Checking
- Air Pocket in Cooling System: Subaru TSB 09-52-12 notes that air pockets can cause this code. This is often a result of a recent coolant service (like a drain and fill, or water pump/timing belt replacement) where the system was not bled properly. Using a spill-free funnel and running the engine with the heat on high is the recommended bleeding procedure. 🎬 See how to properly bleed air from your Subaru cooling system.
- Cooling Fans Stuck On: → Shop Engine Cooling Fan Blade If the radiator fans run constantly, even when the engine is cold, they can prevent the engine from reaching operating temperature. This is an uncommon failure but is easy to check by simply listening for fan noise immediately after a cold start.
Diagnosis Steps
- Check for other stored DTCs. If P0128 is the only code, proceed.
- With the engine cold, check the coolant level in the overflow reservoir and radiator. Top off if low and check for visible leaks.
- Start the engine from cold and observe the radiator fans. They should not be running. If they are, diagnose the fan control circuit.
- Connect an OBD-II scanner and monitor the Engine Coolant Temperature (ECT) data PID.
- Drive the vehicle and watch the ECT reading. The temperature should rise steadily to around 180-200°F (82-93°C) and stabilize.
- If the temperature takes an excessively long time to warm up, never reaches the target range, or drops significantly at highway speeds, the thermostat is stuck open and must be replaced.
- If the temperature gauge shows cold but the engine is obviously hot and hoses are pressurized, suspect a faulty ECT sensor or wiring. Conversely, if the heater blows hot but the gauge reads low, the thermostat is the prime suspect.
Parts You'll Likely Need
- Engine Coolant Thermostat and Gasket
(OEM #21210AA211)— This is the updated 'countermeasure' part specified by Subaru in TSB 09-56-13 to fix the design flaw in the original thermostat that causes code P0128 on this specific vehicle. It supersedes the older, failure-prone part number 21210AA210.
Trusted brands: Subaru (Genuine)
OEM price range: $25-$40
Aftermarket price range: $15-$30 - Subaru Super Coolant
(OEM #SOA868V9270)— The cooling system must be drained to replace the thermostat. It must be refilled with the correct OEM-specified fluid to ensure proper performance and longevity of cooling system components.
Trusted brands: Subaru (Genuine)
OEM price range: $20-$30 per gallon
Technical Service Bulletins (TSBs) & Recalls
- 09-56-13: Countermeasure Thermostat Availability for DTC P0128. This bulletin notes that coolant may enter the thermostat’s internal piston, causing it to open at a temperature lower than specified.
- 09-52-12: DTC P0128 - Coolant Temperature Below Thermostat Regulating Temperature.
Platform-Specific Known Issues
- Subaru Technical Service Bulletin 09-56-13 was issued specifically to address DTC P0128 on 2012-13 Imprezas. It identifies a faulty thermostat as the root cause and provides an updated part number for the fix.
- The failure mechanism described in the TSB is that coolant can seep into the thermostat's internal piston after a cold soak, causing it to open at a lower temperature than designed.
- An older TSB (09-52-12) also mentions that an air pocket or slight temperature variations could set the code, for which a countermeasure heater pipe was released. However, the thermostat issue from TSB 09-56-13 is far more common.
Mechanic-Grade Diagnostic Values
- Engine Coolant Temperature (ECT) Sensor Resistance — expected: Approximately 2,000-3,500 Ohms at 70°F (21°C) and 200-350 Ohms at 200°F (93°C).. Failure: A reading that is significantly outside the expected range, does not change with temperature, or shows an open/short circuit indicates a faulty sensor.
- Engine Coolant Temperature (ECT) Sensor Signal Voltage (Back-probed at connector) — expected: Approximately 3.0V when the engine is cold, dropping smoothly to under 1.0V as the engine reaches operating temperature.. Failure: Voltage that is stuck high or low, or that changes erratically, points to a problem with the sensor or its wiring.
Scan Tool Commands That Help
- Subaru Select Monitor (SSM): Current Data Display & Save — This function allows a technician to view and record live data PIDs, including 'Coolant Temp', which is essential for diagnosing P0128 by observing the engine's warm-up behavior in real-time.
Wiring & Ground Locations
- Engine Coolant Temperature (ECT) Sensor — On the FB20 engine, the ECT sensor is typically located on the top center of the engine, screwed into a coolant passage near the thermostat housing.. This is the sensor that provides the primary data for the P0128 code. A poor connection at its two-wire plug can mimic a sensor failure, making its location critical for testing.
- Main Engine Ground — The primary engine-to-chassis ground strap is typically bolted to the top starter bolt on the transmission bell housing.. A poor main engine ground can cause erratic behavior in various sensors, including the ECT sensor. While not a common cause for P0128 specifically, ensuring this connection is clean and tight is a fundamental step in any electrical diagnosis.
Real Owner Repair Stories
- Ultimate Subaru Message Board (Subaru Loyale (demonstrating a common Subaru principle)) — Not specified, but performing a head gasket replacement.
❌ Tried (didn't work) N/A, preventative comparison.
✅ What actually fixed it The user posted a side-by-side comparison of an OEM Subaru thermostat and a NAPA aftermarket thermostat, showing significant physical differences in construction. The consensus in the thread was that using non-OEM thermostats is a common cause of cooling system problems and repeat failures, reinforcing the recommendation to use the genuine Subaru part. - NHTSA ODI #10559079 — An owner reported that their vehicle experienced a loss of throttle control and could only accelerate extremely slowly. The dealer found OBD code P0128 and reprogrammed the ECM to remove the code.
OEM Part Supersession History
21210AA210→21210AA211— The original thermostat was prone to a design flaw where coolant could enter the internal piston, causing it to open at too low a temperature. The updated part is a 'countermeasure' to correct this specific failure mode.
Heads up: While aftermarket thermostats are available, many forum users and mechanics strongly advise using only the genuine OEM Subaru part to ensure correct opening temperature and avoid repeat failures.
Diagnostic Flowchart
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
2012 Subaru Impreza 4-cyl — 31178 miles
Symptoms: Engine power cut out, complete loss of throttle control, car could only accelerate extremely slowly, not past 20-25 mph.
What fixed it: Dealer found obd code P0128, reprogrammed ECM to remove the code.
Source hint: CarComplaints.com / NHTSA ODI #10559079
2011 Subaru Outback
Symptoms: P0128 appeared after a coolant flush.
What fixed it: Diagnosed as an air pocket induced during service, requiring proper bleeding of the cooling system.
Source hint: Reddit r/subaruoutback - P0128 code keeps coming back- 2011 Subaru Outback
2002 Subaru WRX
Symptoms: Replaced the thermostat to fix a P0128, but the code returned.
What fixed it: Using the correct temperature OEM thermostat and properly bleeding the system.
Source hint: NASIOC - P0128 code
Related OBD-II Codes
Frequently Asked Questions
Does Subaru TSB 09-56-13 apply to my 2012-2013 Impreza?
Why are my cruise control and traction control lights flashing along with the Check Engine Light?
Can an air pocket in the cooling system cause a P0128 on my 2.0L FB20 engine?
What is the correct orientation for the new thermostat when I install it?
Is the P0128 code on my Impreza likely caused by a bad Engine Coolant Temperature (ECT) sensor?
Does this thermostat issue affect other Subaru models besides the Impreza?
Helpful Videos
We Have This Part in Stock
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.
- Subaru Impreza:
- 🧭 Diagnostic Flowchart
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2012-2013 Subaru Impreza
- Symptoms You May Notice
- Most Likely Causes
- Rare But Worth Checking
- Diagnosis Steps
- Parts You'll Likely Need
- Technical Service Bulletins (TSBs) & Recalls
- Platform-Specific Known Issues
- Mechanic-Grade Diagnostic Values
- Scan Tool Commands That Help
- Wiring & Ground Locations
- Real Owner Repair Stories
- OEM Part Supersession History
- Real Owner Stories
- 2012 Subaru Impreza 4-cyl — 31178 miles
- 2011 Subaru Outback
- 2002 Subaru WRX
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off