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

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.

19 minutes to read 2017-2023 Subaru Impreza
Most Likely Cause
Engine Thermostat Stuck Open
Difficulty
2/5
Est. Time
1.1 hrs
DIY Doable?
✅ Yes
Shop Labor
$125 – $250
Parts Price
$25 – $60
⚠️ Drivable, but... — Yes, the vehicle is safe to drive. However, continued driving will result in poor fuel economy, increased emissions, and potentially no cabin heat in cold weather. It should be addressed within a few weeks. On Subarus, this code will also typically disable EyeSight, cruise control, and other driver aids as a precaution.
Key Takeaways
  • 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.
The trouble code P0126, defined as "Insufficient Coolant Temperature for Stable Operation," means the engine's computer (ECM) has detected that the engine is not warming up to its proper operating temperature within a predetermined amount of time after being started. The engine needs to reach a specific temperature (typically 160-190°F) to enter 'closed-loop' mode, where it uses sensor feedback to run efficiently, manage fuel consumption, and control emissions. When it runs too cool for too long, the ECM triggers the check engine light and stores this code.

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
⚠️ Don't Waste Money on the Wrong Fix
  • 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

  1. 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
  2. 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
  3. 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

  • 21210AA30021210AA300 (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

Start by checking the coolant level and heater performance. On the FB20D platform, P0126 is almost always a mechanical thermostat failure rather than a sensor fault.
→ Top off with Subaru Super Coolant and bleed the system. Inspect for leaks around hoses and the water pump. If the level drops again, pressure test the system.
Start the engine and set the cabin heater to max temp/fan. After 10 minutes of idling, what is the air temperature?
Perform a 'Cold Start Hose Test': Feel the upper radiator hose 2 minutes after a cold start. Is it getting warm already?
→ The thermostat is stuck open, allowing constant flow to the radiator. Replace the thermostat and gasket located at the bottom of the FB20D engine. This is the most common cause for P0126 on this platform.
Monitor ECT live data while driving. Does the temperature plateau between 150-170°F or drop at highway speeds?
→ Confirm thermostat failure. Even if the hose test was inconclusive, a temperature plateau below 180°F during driving confirms the thermostat is not closing properly.
Compare ECT and Intake Air Temperature (IAT) readings on a scan tool after the car has sat overnight. Are they within 5°F of each other?
→ Replace the Engine Coolant Temperature (ECT) sensor. On the FB20D, this is located on the coolant crossover pipe near the top of the engine.
Are EyeSight and Cruise Control disabled along with the P0126 code?
→ This is a standard Subaru safety strategy. These systems will reactivate automatically once the P0126 code is cleared and the thermostat issue is resolved.
→ Perform a wiring harness inspection for the ECT sensor to check for intermittent opens or high resistance that could trigger a 'slow to warm' logic error in the ECM.
Compare ECT and Intake Air Temperature (IAT) readings on a scan tool after the car has sat overnight. Are they within 5°F of each other?
→ Replace the Engine Coolant Temperature (ECT) sensor. On the FB20D, this is located on the coolant crossover pipe near the top of the engine.
Are EyeSight and Cruise Control disabled along with the P0126 code?
→ This is a standard Subaru safety strategy. These systems will reactivate automatically once the P0126 code is cleared and the thermostat issue is resolved.
→ Perform a wiring harness inspection for the ECT sensor to check for intermittent opens or high resistance that could trigger a 'slow to warm' logic error in the ECM.

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?'

Frequently Asked Questions

Does the Mazda TSB SA-035/20 regarding P0126 apply to my 2017-2023 Subaru Impreza?
No. While Mazda issued TSBs SA-035/20 and 01-001/26 for P0126, these are specific to Mazda's complex coolant control valves. The Subaru Impreza FB20D uses a simpler mechanical thermostat, which is a positive design choice that avoids the complex software or valve fixes required by other manufacturers.
Why is my EyeSight system disabled when the Check Engine Light for P0126 comes on?
On the 2017-2023 Impreza platform, a P0126 code will trigger the Check Engine Light, which automatically disables the cruise control and EyeSight systems as a safety and fail-safe measure.
Where is the thermostat located on my FB20D engine if I want to replace it myself?
The thermostat is located on the bottom of the engine, connected to the lower radiator hose. It is recommended to replace the gasket and perform a coolant drain and refill using Subaru Super Coolant (blue) at the same time.
Can a faulty ECT sensor cause P0126 on my Impreza, or is it always the thermostat?
While the thermostat is the most frequent cause, a faulty Engine Coolant Temperature (ECT) sensor can cause P0126 by providing inaccurate readings. On the FB20D, this sensor is located on the coolant crossover pipe near the top of the engine.
Is there a specific type of coolant I must use for my 2017+ Impreza?
Yes, you should use Subaru Super Coolant (blue). Using the correct coolant is essential when topping off the system or refilling after a thermostat replacement to prevent air pockets and ensure accurate ECT sensor readings.
My heater only blows lukewarm air at idle; is this related to the P0126 code?
Yes. Poor heater performance, especially at idle or low speeds, is a primary symptom of a thermostat stuck open. This prevents the engine from reaching the target operating temperature of approximately 195°F.
CROSSTREK SUBARU THERMOSTAT REPLACEMENT WITHOUT REMOVING EXHAUST
CROSSTREK SUBARU THERMOSTAT REPLACEMENT WITHOUT REMOVING EXHAUST
ENGINE LIGHT ON CODE P0126 P0128 COOLANT THERMOSTAT FIX  HOW TO FIX CODE P0128 P0126
ENGINE LIGHT ON CODE P0126 P0128 COOLANT THERMOSTAT FIX HOW TO FIX CODE P0128 P0126
How to Fix P0128 Engine Code in 3 Minutes [2 DIY Methods / Only $7.34]
How to Fix P0128 Engine Code in 3 Minutes [2 DIY Methods / Only $7.34]
HOW TO REPLACE A SUBARU RADIATOR & THERMOSTAT #projectcar #wrx #impreza #subaru #howto #radiator
HOW TO REPLACE A SUBARU RADIATOR & THERMOSTAT #projectcar #wrx #impreza #subaru #howto #radiator
How To Test and Replace an Engine Coolant Temperature Sensor. Ep29
How To Test and Replace an Engine Coolant Temperature Sensor. Ep29
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 Jun 8, 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 P0126 (Deep Dive) for:
  • Subaru Impreza: 2017201820192020202120222023
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