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.
- 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.
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.
- 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
- 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 - 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 - 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
- Read the code with an OBD-II scanner to confirm P0031 is present. Note if P0037 is also present.
- 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.
- 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.
- Disconnect the sensor's electrical connector.
- 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).
- 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.
- 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.
- If voltage or ground is missing, the problem is in the vehicle's wiring, relay, or the ECM, and further tracing is required.
- 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
22641AA140→22641AA280— Part revision and consolidation.22641AA280→22641AA480 (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
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
Related OBD-II Codes
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?
I have both P0031 and P0037 codes at the same time. Does this mean both my oxygen sensors have failed?
How can I test the front Air/Fuel ratio sensor myself to confirm it's the cause of P0031?
The front A/F sensor on my 2.5L RS is completely stuck. Is this a common problem?
Where is the fuse for the A/F sensor heater circuit located?
Is there a recall for this P0031 issue on the 2001-2007 Impreza?
I can't easily reach the front A/F sensor. Is there a trick to accessing it on my 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:
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2001-2007 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
- Wiring & Ground Locations
- Real Owner Repair Stories
- OEM Part Supersession History
- Model Year Variations Within This Range
- Diagnostic Flowchart
- Used vs. New Parts: Buying Guide for This Vehicle
- Real Owner Stories
- Subaru Legacy 2.5L
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off