P0126 on 2017-2023 Subaru Impreza: Insufficient Coolant Temperature Causes and Fixes
On a 2017-2023 Impreza, code P0126 is almost always caused by a thermostat that is stuck open. This is a straightforward and affordable repair, typically costing $25-$40 for an OEM part and is a common DIY job. The identical Subaru Crosstrek shares this issue.
- P0126 on your Impreza means the engine is running too cold, most likely due to a stuck-open thermostat.
- This specific vehicle (2017-2023 Impreza) uses a simple mechanical thermostat and is NOT affected by the widely reported electronic Thermo Control Valve (TCV) failures seen on other Subarus.
- The most probable fix is replacing the thermostat (OEM Part #21210AA300) and gasket, which is an affordable and common DIY repair.
- Before buying parts, check your coolant level and confirm the heater isn't blowing hot air, as these are strong indicators of a thermostat issue.
What's Unique About the 2017-2023 Subaru Impreza
Unlike other Subarus from the same era, such as the Forester and Outback which use a complex and failure-prone electronic Thermo Control Valve (TCV), the 2017-2023 Impreza with the 2.0L engine uses a simple, reliable, mechanical thermostat. This is a significant advantage, as the Impreza is not subject to the widespread TCV failures, warranty extensions, and expensive repairs affecting other models. Therefore, diagnosing P0126 on this vehicle is much more straightforward and typically points to a conventional, inexpensive part.
Symptoms You May Notice
- Check Engine Light is on
- Engine temperature gauge on the dashboard takes a very long time to reach the middle or never gets there
- Heater blows lukewarm or cold air, especially at idle or lower speeds
- Noticeable decrease in fuel economy
- Cruise control and EyeSight systems are disabled
- Replacing the oxygen sensors. While the code relates to the engine not entering 'closed-loop' fuel control, the root cause is temperature-related, not a fault with the O2 sensors themselves.
- Assuming a faulty Thermo Control Valve (TCV). Many other Subaru models of this era have TCV issues, but the 2.0L Impreza does not use this part.
Most Likely Causes
- Engine Thermostat Stuck Open 🔴 High Probability → Shop Integrated Thermostat Housing Assembly Thermostats are wear-and-tear items that can fail over time, commonly getting stuck in the open position. This is the most frequent cause for P0126 and P0128 on this platform. It allows coolant to circulate through the radiator constantly, preventing the engine from warming up properly.
How to confirm: After starting the engine from cold, feel the upper radiator hose. If it starts to get warm within the first 1-2 minutes, the thermostat is likely stuck open, allowing coolant to flow to the radiator immediately. It should remain cool for several minutes until the engine reaches operating temperature. Live data on a scan tool will show the coolant temperature plateauing around 150-170°F instead of reaching the target of ~195°F.
Typical fix: Replace the engine thermostat and its gasket. The thermostat is located on the bottom of the engine, connected to the lower radiator hose. 🎬 Watch: Step-by-step Subaru thermostat replacement walkthrough It's recommended to drain and refill the engine coolant at the same time.
Est. part cost: $25-$50 - Faulty Engine Coolant Temperature (ECT) Sensor ⚪ Low Probability → Shop Engine Coolant Temperature Sensor The ECT sensor can fail electrically or provide inaccurate readings to the ECM. While less common than a thermostat failure, it can trick the computer into thinking the engine is colder than it actually is. A failure of this sensor is more likely to set its own codes, like P0117 or P0118.
How to confirm: Use an OBD-II scanner with live data capability. Compare the ECT sensor reading to the ambient air temperature sensor reading on a cold engine; they should be very close. If the ECT reading is illogical (e.g., -40°F, or stuck at one temperature), the sensor or its wiring is faulty.
Typical fix: Replace the engine coolant temperature sensor. On the FB20D, it is located on the coolant crossover pipe near the top of the engine. 🎬 See how to test and replace the coolant temperature sensor
Est. part cost: $20-$60 - Low Engine Coolant Level ⚪ Low Probability A low coolant level can cause air pockets in the system, preventing the ECT sensor from getting an accurate reading. This is usually the result of a leak elsewhere in the system, which is not a common systemic issue on this platform but can happen to any car.
How to confirm: Visually inspect the coolant overflow reservoir and the radiator (when the engine is completely cool). If the level is below the 'LOW' mark, it needs to be topped off. Check for visible signs of coolant leaks around hoses, the radiator, and the water pump.
Typical fix: Top off the coolant with the correct Subaru Super Coolant (blue) and bleed any air from the system. If the level drops again, the source of the leak must be found and repaired.
Est. part cost: $20-$35 for a gallon of coolant
Rare But Worth Checking
- Cooling fan running constantly: If a fan relay fails in the 'on' position, the constant airflow can over-cool the engine, especially at idle or in cold weather. This is uncommon but can trigger a P0126/P0128 code.
Diagnosis Steps
- Check the Check Engine Light: Confirm P0126 and/or P0128 is the stored code using an OBD-II scanner. Note if other codes are present.
- Inspect Coolant Level: With the engine cold, check the coolant level in the plastic overflow reservoir. It should be between the 'LOW' and 'FULL' marks. Also, remove the radiator cap to ensure the radiator is full. If low, top off with Subaru Super Coolant and inspect for leaks.
- Test Heater Performance: Start the engine and let it idle. Turn the cabin heater to the highest temperature and fan speed. If the air remains cool or only gets slightly warm after 5-10 minutes, it strongly suggests the engine is not reaching temperature, likely due to a stuck-open thermostat.
- Monitor Live Data: Using a scan tool, monitor the Engine Coolant Temperature (ECT) live data. Watch the temperature as the engine warms up. It should climb steadily to around 190-205°F and stabilize. If it climbs very slowly, struggles to get above 170°F, or drops significantly when driving at highway speeds, the thermostat is the primary suspect.
- Feel the Radiator Hose: Start the engine when it is completely cold. Carefully feel the large upper radiator hose. It should remain cool to the touch for at least 3-5 minutes. If it starts to get warm almost immediately, coolant is flowing to the radiator, confirming the thermostat is stuck open.
- Test the ECT Sensor: If the thermostat appears to be working correctly but the code persists, test the ECT sensor. On a cold engine, the ECT reading should be nearly identical to the Intake Air Temperature (IAT) sensor reading. If it's skewed, the sensor is likely faulty.
Parts You'll Likely Need
- Engine Coolant Thermostat
(OEM #21210AA300)— This is the most common cause of P0126. The thermostat gets stuck in the open position, over-cooling the engine. The OEM part includes the necessary gasket and has an 82°C (180°F) opening temperature.
Trusted brands: Subaru (Genuine), Aisin, Gates, Motorad
OEM price range: $25-$40
Aftermarket price range: $10-$25 - Subaru Super Coolant
(OEM #SOA868V9270)— You will lose coolant when replacing the thermostat and will need to top off the system. It is critical to use the correct blue Subaru Super Coolant to avoid chemical compatibility issues and ensure proper cooling system protection.
Trusted brands: Subaru (Genuine)
OEM price range: $25-$35
Related Codes That Often Appear With This One
- P0128 — P0128 (Coolant Temperature Below Thermostat Regulating Temperature) is a very similar code and is often set for the exact same reason. Both are triggered by the engine running too cool, and they often share the same causes, primarily a stuck-open thermostat. Some manufacturers use one code, some use the other, and some use both. For this Impreza, both codes point overwhelmingly to the thermostat. 🎬 Watch: How to diagnose and fix P0126 and P0128 codes
Technical Service Bulletins (TSBs) & Recalls
- Mazda TSB SA-035/20, 01-001/26: While not for Subaru, these TSBs for Mazda vehicles with frequent P0126 codes show how manufacturers address this issue, sometimes with updated parts (coolant control valves) or software. This highlights that the Impreza's simple mechanical thermostat is a positive design choice, avoiding such complex fixes.
Platform-Specific Known Issues
- Owner on Reddit with a 2019 Mazda3 (another vehicle known for this code) confirmed that after 35 minutes of highway driving in 32°F weather, their coolant temp would not exceed 175°F, confirming a stuck-open thermostat was preventing the car from reaching its target temperature. This is a classic real-world example of the symptom.
- A user on a Miata forum with a P0126 code was told by others that it is '99% of the time' the thermostat, and that it commonly fails in the open position, which is a safe failure mode but requires replacement. This community consensus is mirrored on Subaru forums.
Mechanic-Grade Diagnostic Values
- Engine Coolant Temperature (ECT) Sensor Resistance — expected: Approximately 2,200 – 3,000 Ω at 20°C (68°F) and 250 – 350 Ω at 80°C (176°F).. Failure: Resistance readings that are significantly outside the expected range for a given temperature, or readings that do not change smoothly as the sensor warms up, indicate a faulty sensor.
- Engine Coolant Temperature (ECT) Sensor Voltage — expected: Typical voltage ranges from 0.5V to 3.5V. The voltage should be high when the engine is cold and decrease as the engine warms up.. Failure: A voltage that is stuck high or low, or does not correspond to the actual engine temperature, points to a sensor or wiring issue.
Scan Tool Commands That Help
- Subaru Select Monitor (SSM3/SSM4): Current Data Display / Data Display — This function is used to view live data, including the 'Coolant Temp' parameter. It is the dealer-level tool for monitoring the temperature climb rate and comparing it against the ECM's expected values, which is the core of diagnosing P0126.
- Subaru Select Monitor (SSM3/SSM4): Clear Memory Mode — After the repair (e.g., thermostat replacement) is complete, this function is used to clear the P0126 and any related codes from the ECM's memory.
OEM Part Supersession History
21210AA300→21210AA300 (current)— This part number appears to be stable for the specified vehicle range.
Heads up: No known supersession or incompatibility issues found for this part on the 2017-2023 Impreza. It is listed as fitting the entire generation.
Diagnostic Flowchart
Other Known Issues on This Vehicle
Issues unrelated to this code that are worth knowing about as an owner of this generation:
- Excessive Oil Consumption 🟠 Medium — More common in earlier FB engines, but still reported on the FB20D. Some engines may consume oil (e.g., 1 quart every 1-2k miles) due to low-tension piston rings designed for efficiency. Not all engines are affected. (Ref: A class-action lawsuit (Yaeger v. Subaru) covered earlier FB engines, but owners of 2017+ models should monitor oil levels closely.)
- Carbon Buildup on Intake Valves 🟡 Low — A common characteristic of all direct-injection (DI) engines, including the FB20D. Since fuel is injected directly into the cylinder, it no longer cleans the back of the intake valves. Over time (60k-100k miles), carbon can accumulate, potentially causing rough idle or power loss.
- Premature Wheel Bearing Failure 🟠 Medium — An emerging pattern on this platform. Owners report humming or grinding noises that change with speed, often starting around 40k-60k miles. Both front and rear bearings can be affected. A long-term test by Car and Driver noted a left-rear wheel bearing failure.
- CVT Transmission Behavior 🟡 Low — While generally reliable in this generation, some owners report occasional shuddering or hesitation from the Lineartronic CVT, particularly at low speeds. Software updates and fluid changes can sometimes address this.
- Infotainment System Glitches 🟡 Low — Some owners experience issues with the head unit, such as freezing, Bluetooth connectivity problems, or unresponsiveness. This was more common in earlier years of the generation (2017-2018).
Used vs. New Parts: Buying Guide for This Vehicle
When a used part is the smart pick: For this repair, using a used part is strongly discouraged. The primary cause of P0126 is a failed thermostat, which is an inexpensive wear-and-tear item. The cost savings of a used thermostat are minimal and not worth the risk of premature failure.
OEM-only on this vehicle (don't cheap out):
- Engine Coolant Thermostat: Given the low cost of the genuine Subaru part (around $25-$40) which includes the necessary gasket, opting for an OEM part is the most reliable choice to ensure correct opening temperature and longevity.
- Engine Coolant: Only Subaru Super Coolant (blue) should be used to avoid chemical reactions with residual coolant and to maintain the integrity of the cooling system components.
Aftermarket brands forum-validated for this vehicle:
- Aisin
- Gates
Brands owners have reported issues with on this vehicle:
- Unnamed, 'white-box' or ultra-cheap online marketplace thermostats should be avoided, as they may have incorrect opening temperatures or poor build quality, leading to a repeat failure.
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
2018-2023 Subaru Crosstrek 2.0L (FB20D)
Symptoms: The vehicle suffered from a thermostat that failed in the open position, leading to the storage of P0126 and P0128 codes.
What fixed it: Replacement of the conventional thermostat.
Source hint: Platform mates section referencing Crosstrek repair data and forums
2017-2023 Subaru Impreza 2.0L (FB20D)
Symptoms: Classic symptoms including poor heater performance and sluggishness.
What fixed it: Thermostat replacement (implied by community consensus for P0128/P0126).
Source hint: The Subaru Forums citation regarding P0128 code on Impreza
2017-2023 Subaru Impreza 2.0L (FB20D)
Symptoms: Coolant temperature maxed out at 175°F while driving on the highway, preventing the car from reaching its target temperature.
What fixed it: Thermostat replacement.
Source hint: r/MechanicAdvice on Reddit thread titled 'P0126 anything to be worried about?'
Related OBD-II Codes
Frequently Asked Questions
Does the Mazda TSB SA-035/20 regarding P0126 apply to my 2017-2023 Subaru Impreza?
Why is my EyeSight system disabled when the Check Engine Light for P0126 comes on?
Where is the thermostat located on my FB20D engine if I want to replace it myself?
Can a faulty ECT sensor cause P0126 on my Impreza, or is it always the thermostat?
Is there a specific type of coolant I must use for my 2017+ Impreza?
My heater only blows lukewarm air at idle; is this related to the P0126 code?
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 2017-2023 Subaru Impreza
- Symptoms You May Notice
- Most Likely Causes
- Rare But Worth Checking
- Diagnosis Steps
- Parts You'll Likely Need
- Related Codes That Often Appear With This One
- Technical Service Bulletins (TSBs) & Recalls
- Platform-Specific Known Issues
- Mechanic-Grade Diagnostic Values
- Scan Tool Commands That Help
- OEM Part Supersession History
- Other Known Issues on This Vehicle
- Used vs. New Parts: Buying Guide for This Vehicle
- Real Owner Stories
- 2018-2023 Subaru Crosstrek 2.0L (FB20D)
- 2017-2023 Subaru Impreza 2.0L (FB20D)
- 2017-2023 Subaru Impreza 2.0L (FB20D)
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off