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 →
🎬 Helpful Videos 🛍️ Shop This Part

P0031 on 2001-2007 Subaru Impreza 2.5L RS: Causes and Fixes for O2 Sensor Heater Circuit

On a 2001-2007 Subaru Impreza 2.5L RS, code P0031 almost always means the heater element inside the front oxygen sensor has failed. Replacing the front Air/Fuel ratio sensor is the most common fix. Use an OEM (Subaru) or OEM-supplier (Denso) part. Expect to pay between $100-$180 for a quality aftermarket part (like Denso 234-9120) and under $250 for an OEM part. Be prepared for the old sensor to be seized in the exhaust.

20 minutes to read 2001-2007 Subaru Impreza
Most Likely Cause
Failed Front Air/Fuel Ratio Sensor Heater Element
Difficulty
3/5
Est. Time
1 hrs
DIY Doable?
✅ Yes
Shop Labor
175 – 475
Parts Price
100 – 250
⚠️ Drivable, but... — You can drive the vehicle, but it will have increased emissions and poor fuel economy. Long-term driving without a functioning sensor heater can potentially lead to premature failure of the catalytic converter.
Key Takeaways
  • P0031 on a 2.5L RS Impreza points directly to the heater in the front Air/Fuel ratio sensor.
  • The most likely fix is replacing the front A/F sensor. Use a quality brand like Denso (OEM supplier) or a Genuine Subaru part.
  • Before buying any parts, take 5 minutes to check the A/F sensor fuse (often 15A) in the cabin fuse box, especially if you also have a P0037 code.
  • You can confirm the sensor has failed with a multimeter; a good heater reads ~2-4 ohms, a bad one reads open ('OL').
  • This is a DIY-friendly job, but be prepared for the original sensor to be severely seized in the exhaust, which can complicate the repair significantly.
The trouble code P0031 stands for "HO2S Heater Control Circuit Low (Bank 1 Sensor 1)". On your Subaru's 4-cylinder engine, "Bank 1" is the only bank of cylinders, and "Sensor 1" is the crucial front oxygen sensor located in the exhaust manifold before the catalytic converter. This sensor, often called an Air/Fuel (A/F) Ratio Sensor on Subarus, uses a built-in heater to get to its correct operating temperature quickly. The code P0031 means the Engine Control Module (ECM) has detected that the electrical current in the heater circuit is lower than expected. This is typically caused by an open circuit, like a burned-out filament in the heater, which results in infinite resistance and zero current flow.

What's Unique About the 2001-2007 Subaru Impreza

Subarus of this era are known for their durable but particular EJ-series engines. While the P0031 code is common across many cars, on the 2.5L RS, it's a very straightforward issue almost always tied to the sensor itself. Unlike some vehicles where wiring is the primary culprit, on these Imprezas, the front A/F sensor's internal heater simply fails with age and heat cycles. Owners should be aware that Subaru uses a wideband A/F sensor in the front position, not a cheaper conventional O2 sensor, so using the correct part is critical. Many owners and mechanics strongly recommend using only OEM or the OEM-supplier (Denso) part to avoid compatibility issues.

Generation note: The 2001-2007 year range covers the entire second generation (GD/GG) of the Subaru Impreza. This generation is known by enthusiasts via nicknames for its three distinct facelift styles: the 'Bugeye' (2001-2002), 'Blobeye' (2003-2005), and 'Hawkeye' (2006-2007). The 2.5L RS engine was a mainstay, and the diagnosis and repair for P0031 are consistent across all three styles.

Symptoms You May Notice

  • Check Engine Light is on
  • Flashing cruise control light (a common Subaru feature when the Check Engine Light is on).
  • Reduced fuel economy.
  • Failure to pass an emissions test.
  • Slightly rough idle on a cold start.
  • Engine hesitation during acceleration.
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the rear (downstream) oxygen sensor instead of the front (upstream) Air/Fuel ratio sensor.
  • Replacing the sensor without first checking the fuse, leading to the new sensor not fixing the code.
  • Using a cheap, universal aftermarket sensor that is not compatible with the Subaru ECU, causing the code to return or other performance issues to appear.

Most Likely Causes

  1. Failed Front Air/Fuel Ratio Sensor Heater Element 🔴 High Probability The heater element is a wear item that is subject to thousands of heat cycles and eventually burns out, creating an open circuit. This is the most common failure mode for this part on the EJ25 engine.
    How to confirm: Disconnect the sensor and measure the resistance between the two heater circuit pins (usually the two same-colored wires, often black) with a multimeter. 🎬 Watch this video to see how to test the heater circuit. A good sensor should have a low resistance, typically between 2.0 and 4.0 ohms. A reading of 'OL' (Open Line) or infinite resistance confirms the heater has failed and the sensor must be replaced.
    Typical fix: Replace the front Air/Fuel ratio sensor. Applying anti-seize compound to the new sensor's threads is highly recommended.
    Est. part cost: $100-$180
  2. Blown Fuse ⚪ Low Probability A short circuit in the sensor or its wiring can cause the fuse to blow. This becomes a higher probability if both the front (P0031) and rear (P0037) O2 sensor heater codes appear at the same time, as they often share a power circuit. 🎬 See how to fix both P0031 and P0037 codes together.
    How to confirm: Locate the fuse box in the passenger compartment. The A/F sensor fuse (often 15A) may be in a secondary, unlabeled black fuse block next to the main one. Check the fuse designated for the O2 or A/F sensor. A visual inspection or continuity test will confirm if it's blown.
    Typical fix: Replace the blown fuse. If it blows again immediately, a short circuit in the wiring harness or one of the O2 sensors must be found and repaired.
    Est. part cost: $1-$5
  3. Damaged Wiring or Connector ⚪ Low Probability The wiring harness is close to the hot exhaust and engine block, making it susceptible to melting or becoming brittle and cracking over time. Damage can also occur during other engine work. A poor ground connection can also cause a voltage drop and trigger the code.
    How to confirm: Visually inspect the entire length of the sensor's wiring harness from the connector back as far as possible. Look for any signs of melting, chafing, corrosion in the connector, or broken wires. Check for solid ground connections.
    Typical fix: Repair the damaged section of wire or replace the connector pigtail.
    Est. part cost: $10-$30

Rare But Worth Checking

  • Faulty Engine Control Module (ECM): This is extremely rare. The ECM's internal driver for the heater circuit would have to fail. This should only be considered after all other possibilities, including the sensor, fuse, and all wiring, have been exhaustively tested and ruled out.

Diagnosis Steps

  1. Read the code with an OBD-II scanner to confirm P0031 is present. Note if P0037 is also present.
  2. Check the fuse for the A/F sensor heater circuit in the interior fuse panel. It may be a 15A fuse in a secondary panel. Replace if blown. If P0031 and P0037 are both active, this is the most likely cause.
  3. If the fuse is good, locate the front A/F sensor on the exhaust manifold. Visually inspect the sensor's connector and wiring for any obvious damage, melting, or corrosion.
  4. Disconnect the sensor's electrical connector.
  5. Using a multimeter set to measure resistance (Ohms), probe the two pins on the SENSOR side of the connector that correspond to the heater circuit (typically the two wires of the same color, often black).
  6. A reading between 2.0 and 4.0 ohms indicates the heater is likely good. A reading of infinite resistance (Open Line or 'OL') means the heater is burned out and the sensor must be replaced.
  7. If the sensor's heater circuit resistance is good, check for power and ground at the VEHICLE HARNESS side of the connector. With the ignition key in the 'ON' position, one pin should have battery voltage (~12V). A reading significantly lower than 12V (e.g., 10V) can indicate a wiring or ground issue.
  8. If voltage or ground is missing, the problem is in the vehicle's wiring, relay, or the ECM, and further tracing is required.
  9. If the sensor has failed, replace it. Be prepared for it to be seized (see 'Vehicle Specific Issues'). Clear the code with a scanner and drive the vehicle to confirm the fix.

Parts You'll Likely Need

  • Front Air/Fuel Ratio Sensor (OEM #22641AA280 (may be superseded, confirm with dealer)) — This is the component that contains the heater element that fails, causing the P0031 code. It is the primary cause in over 90% of cases.
    Trusted brands: Denso (OEM Supplier, Part No. 234-9120), NGK/NTK, Genuine Subaru
    OEM price range: $180-$250
    Aftermarket price range: $100-$180

Related Codes That Often Appear With This One

  • P0037

Technical Service Bulletins (TSBs) & Recalls

  • {'title': 'Subaru Service Program WXW-80', 'description': 'While not a recall or TSB specifically for the Impreza, Subaru issued this service program for some Legacy/Outback models addressing an issue where the front air/fuel ratio sensor element could develop a crack, triggering a check engine light. This acknowledges a known failure pattern with the same type of sensor used in the Impreza.'}

Platform-Specific Known Issues

  • Seized Oxygen Sensor: Due to age, heat cycles, and rust, the front A/F sensor is frequently seized into the exhaust manifold, making removal extremely difficult. The hex on the sensor can easily round off. 🎬 Watch this expert method for removing a seized oxygen sensor. Common removal methods include: soaking the threads for hours with a high-quality penetrating oil (like PB Blaster or a 50/50 mix of acetone and ATF), heating the manifold bung (not the sensor) with a MAPP or oxy-acetylene torch until red hot, using a long breaker bar with a dedicated O2 sensor socket, or using an impact wrench. If the sensor head rounds off, a specialized bolt/nut extractor socket is often the last resort before having to replace the exhaust manifold. This potential difficulty is the main reason a DIY job can become complicated.
  • Accessing the Sensor: On some 2.5L RS models, accessing the front A/F sensor from above can be tight. For easier access, some technicians find it necessary to remove the passenger side front wheel and CV axle to get a clear wrenching angle from the side.

Mechanic-Grade Diagnostic Values

  • A/F Sensor Heater Resistance — expected: 2.7 - 3.1 ohms for a new Denso sensor at room temperature.. Failure: A reading of 'OL' (Open Line/infinite resistance) indicates a burned-out heater. A reading between 5-10 ohms may be considered marginal and could fail the ECM's check when hot, even if not fully open.
  • A/F Sensor #1 Heater Duty (Live Data) — expected: A fluctuating percentage value on a scan tool (like Subaru Select Monitor) as the ECM actively controls the heater.. Failure: A reading stuck at 0% or 100% can indicate a fault. For P0031, the ECM may command a high duty cycle but detect no current flow, confirming an open circuit.
  • Voltage at Harness Heater Control Pin — expected: Approximately battery voltage (~12V) when the key is on and the heater is commanded OFF by the ECM. Near 0V when the heater is commanded ON (ECM provides ground).. Failure: Voltage that is always low (near 0V) even when the heater should be off points to a short to ground in the wiring or a faulty ECM driver. No voltage at all on the power supply pin indicates a blown fuse, bad relay, or broken wire from the power source.

Scan Tool Commands That Help

  • Subaru Select Monitor (SSM) or equivalent professional scanner: Current Data Display - 'A/F Sensor #1 Resistance' and 'Front O2 Heater #1 Current' — To view the resistance and current values as seen by the ECM in real-time. This can confirm if the ECM is detecting the same open circuit (high resistance, low/zero current) that a multimeter test shows, ruling out wiring issues between the sensor and ECM.
  • Subaru Select Monitor (SSM) or equivalent professional scanner: Active Test - Heater Relay ON/OFF — If no power is found at the sensor harness, this command can be used to manually trigger the heater circuit relay. If the relay clicks and power is restored, it suggests an intermittent control issue. If the relay does not click, it points to a faulty relay or a problem in the control circuit to the relay.

Wiring & Ground Locations

  • Engine Ground on Intake Manifold — A grounding point on the intake manifold where several sensor and ECU grounds terminate.. The ECU gets its primary ground reference from the intake manifold. A poor connection here due to corrosion or modifications (like TGV deletes with non-conductive spacers) can cause erratic sensor readings and trigger various codes, including P0031, due to unstable voltage references.
  • Front A/F Sensor Connector (E23) — Typically located on a bracket on the passenger side strut tower in the engine bay.. This is the primary connection point for testing the sensor and vehicle-side harness. The two same-colored wires (usually black) are for the heater circuit. One pin receives ~12V power, and the other is the ground control from the ECM.
  • A/F O2 HTR Fuse — In the interior fuse panel, located by the driver's left knee. Often a 15A fuse.. This fuse often provides power to the heater circuits for both the front and rear O2 sensors. If it blows, both P0031 and P0037 codes will typically appear simultaneously.

Real Owner Repair Stories

  • YouTube video from a DIYer (2008 Subaru WRX (similar EJ engine and wiring)) — Check Engine Light with codes P0031 and P0037.
    ❌ Tried (didn't work) Initially suspected both sensors had failed.
    ✅ What actually fixed it Found the downstream O2 sensor wiring was touching a heat shield, causing a short to ground. This blew the shared 15A 'A/F O2 HTR' fuse in the interior fuse box. Fixing the wire and replacing the fuse resolved both codes.
  • Factory Five Forums user (Subaru 2.5L Hybrid engine in an 818 kit car) — P0031 code on a brand new Denso A/F sensor.
    ❌ Tried (didn't work) Confirmed sensor resistance was good (1.5 ohms)., Confirmed 12V power at the sensor harness., Confirmed grounds at the ECM were good.
    ✅ What actually fixed it The final fix was not explicitly posted in the thread, but the detailed diagnostic conversation pointed towards a potential high-resistance fault in the wiring that only manifested under the high current load of the heater (8 amps), a fault that a simple multimeter voltage test would not catch.

OEM Part Supersession History

  • 22641AA14022641AA280 — Part revision and consolidation.
  • 22641AA28022641AA480 (and others like 22641AA211, 22641AA32A) — Subsequent part revisions by Subaru. It's critical to verify the latest part number with a dealer using the vehicle's VIN.
    Heads up: While later part numbers may physically fit, using a sensor not specified for the 2001-2007 ECU can cause compatibility issues. The Denso 234-9120 remains the correct, validated aftermarket part for this entire range.

Model Year Variations Within This Range

  • 2001-2007: While the P0031 fault, diagnosis, and replacement part (Denso 234-9120) are consistent across the 'Bugeye', 'Blobeye', and 'Hawkeye' generations, there can be minor variations in wiring harness routing, connector bracket placement, and the exact position of the fuse in the interior fuse box. However, the fundamental electrical circuit remains the same.

Diagnostic Flowchart

Start by checking if P0031 is the only code present. The presence of a P0037 code for the rear O2 sensor often points to a simple, shared fuse issue and is the first thing to check.
Check the A/F sensor fuse. On this Impreza, it's often a 15A fuse in the secondary black fuse block next to the main one in the passenger footwell. Is the fuse blown?
→ Replace the 15A fuse. If it blows again immediately, you have a short circuit in the wiring or one of the O2 sensors that must be found. Inspect the wiring harness near the hot exhaust for melted sections.
→ Since the fuse is good but both heater circuits have failed, this suggests a problem with the shared power feed wire or relay before the fuse. Inspect the wiring harness common to both sensors for damage. Professional diagnosis may be required.
Visually inspect the front A/F sensor's wiring harness and connector, located on the exhaust manifold. Do you see any obvious signs of melting, chafing, or corrosion?
→ Repair the damaged section of wire or replace the connector pigtail. Ensure the repair is protected from exhaust heat.
Disconnect the sensor. Using a multimeter, measure the resistance between the two same-colored (usually black) wires on the SENSOR side of the connector. What is the reading?
→ The sensor's internal heater has failed. This is the most common cause on the EJ25 engine. Replace the front Air/Fuel Ratio sensor. **CRITICAL WARNING:** The sensor is often seized in the exhaust manifold. Be prepared with high-quality penetrating oil, heat, and a proper O2 sensor socket to avoid rounding it off.
The sensor heater tested good. Now check the VEHICLE HARNESS side of the connector with the ignition key ON (engine off). Is there ~12V power on one pin and a good ground on another?
→ Power, ground, and the sensor heater are all good. This indicates a rare intermittent connection issue or a problem with the Engine Control Module (ECM). Double-check all connections before considering ECM diagnosis.
→ The fault is in the vehicle's wiring harness, a relay, or the ECM. Trace the circuit back from the connector using a wiring diagram to find the break or short.
→ The sensor is out of specification and should be replaced. **CRITICAL WARNING:** The sensor is often seized in the exhaust manifold; be prepared with penetrating oil, heat, and a proper O2 sensor socket to avoid rounding it off.

Used vs. New Parts: Buying Guide for This Vehicle

When a used part is the smart pick: For this repair, a used part only makes sense for a connector pigtail from a salvage harness if the original connector is damaged. A used ECU from an identical donor (year, model, engine, transmission) is a last resort for a confirmed ECM failure.

Donor-vehicle mileage cap: roughly under 150000 miles for the part to have meaningful remaining life.

What to inspect on the donor part:

  • For a wiring pigtail, ensure there is no corrosion on the pins and the wires are not brittle or cracked.
  • For a used ECU, match the part number exactly and inspect for any signs of water damage or physical trauma to the case.

OEM-only on this vehicle (don't cheap out):

  • Air/Fuel Ratio Sensor: Strongly recommended to use only Genuine Subaru or the OEM supplier (Denso). The Subaru ECU is notoriously sensitive to the specific characteristics of the front A/F sensor.

Aftermarket brands forum-validated for this vehicle:

  • Denso (Part No. 234-9120) is the OEM supplier and the most recommended choice.
  • NGK/NTK is also a reputable OEM supplier for Japanese vehicles and is considered a reliable alternative.

Brands owners have reported issues with on this vehicle:

  • Bosch: While a major sensor manufacturer, their A/F sensors are frequently reported by Subaru owners to cause compatibility issues, persistent codes, or poor performance in this specific upstream application.
  • Unbranded/generic 'eBay' sensors: These are a significant gamble and often fail quickly or are incompatible out of the box.

Real Owner Stories

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

Subaru Legacy 2.5L

Symptoms: Check Engine Light appeared with both P0031 and P0037 codes. The codes remained even after replacing both the front and rear oxygen sensors.

What fixed it: The actual problem was a single blown fuse that is shared by both the front and rear O2 sensor heater circuits.

Source hint: LegacyGT.com - O2 sensor issues

Frequently Asked Questions

My cruise control light is flashing along with the Check Engine Light. Is this related to the P0031 code on my Impreza?
Yes, a flashing cruise control light is a common Subaru feature that activates whenever the Check Engine Light is on to alert the driver.
I have both P0031 and P0037 codes at the same time. Does this mean both my oxygen sensors have failed?
Not necessarily. When both the front (P0031) and rear (P0037) heater codes appear together, it is highly probable that a shared fuse has blown. Check the A/F sensor fuse in the interior fuse box before replacing any sensors.
How can I test the front Air/Fuel ratio sensor myself to confirm it's the cause of P0031?
Disconnect the sensor and use a multimeter to measure the resistance between the two heater circuit pins, which are typically the two same-colored (often black) wires. A good sensor should read between 2.0 and 4.0 ohms. A reading of 'OL' or infinite resistance confirms the heater has failed.
The front A/F sensor on my 2.5L RS is completely stuck. Is this a common problem?
Yes, it is very common for the sensor to seize in the exhaust manifold due to age, heat cycles, and rust. Removal can be difficult and may require penetrating oil, heat from a torch, and specialized O2 sensor sockets.
Where is the fuse for the A/F sensor heater circuit located?
The fuse is in the passenger compartment fuse box. It may be a 15A fuse located in a secondary, unlabeled black fuse block next to the main panel.
Is there a recall for this P0031 issue on the 2001-2007 Impreza?
There is no specific recall mentioned. However, Subaru did issue a service program (WXW-80) for related Legacy/Outback models that use the same type of sensor, acknowledging a known failure pattern where the sensor element could crack.
I can't easily reach the front A/F sensor. Is there a trick to accessing it on my Impreza?
Access can be tight from above. Some technicians find it necessary to remove the passenger side front wheel and CV axle to get a clear wrenching angle from the side.
P0031 - Heater Control Circuit Low (Bank 1 Sensor 1) - 2009 Subaru Impreza 2.5
P0031 - Heater Control Circuit Low (Bank 1 Sensor 1) - 2009 Subaru Impreza 2.5
Subaru Air Fuel Sensor P0030 P0031 P0032
Subaru Air Fuel Sensor P0030 P0031 P0032
How to test oxygen sensor heater control
How to test oxygen sensor heater control
P0031 and P0037 Fix! Subaru Wrx 2008-2014
P0031 and P0037 Fix! Subaru Wrx 2008-2014
Oxygen sensor that will not come out removal, stuck oxygen sensor O2 Sensor removal
Oxygen sensor that will not come out removal, stuck oxygen sensor O2 Sensor removal
Remove 🔧 Stuck Seized Oxygen Sensor O2 With Extra Tips DETAILED
Remove 🔧 Stuck Seized Oxygen Sensor O2 With Extra Tips DETAILED
How To Remove Stuck Oxygen Sensors  (Andy’s Garage: Episode - 455)
How To Remove Stuck Oxygen Sensors (Andy’s Garage: Episode - 455)
Ultimate Seized / Stuck O2 Sensor Removing Method! – Never Failed Me!!
Ultimate Seized / Stuck O2 Sensor Removing Method! – Never Failed Me!!
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 Jul 23, 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 P0031 (Deep Dive) for:
  • Subaru Impreza: 2001200220032004200520062007
In this article
🎬 Helpful Videos
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