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 2002-2008 Subaru Forester: Front O2 Sensor Heater Circuit Causes and Fixes

On a 2002-2008 Subaru Forester, code P0031 almost always means the internal heater in the front oxygen sensor (Bank 1, Sensor 1) has failed. Replacing the sensor is the most common fix. Expect to pay between $120-$180 for a quality aftermarket part (like Denso) and around $220-$280 for an OEM part. This is a common DIY repair with a difficulty of 2/5.

20 minutes to read 2002-2008 Subaru Forester
Most Likely Cause
Failed Front A/F (O2) Sensor Heater Element
Difficulty
2/5
Est. Time
0.8 hrs
DIY Doable?
✅ Yes
Shop Labor
$180 – $430
Parts Price
$120 – $280
⚠️ Drivable, but... — Yes, you can drive the vehicle, but you will experience reduced fuel economy and increased emissions. The engine will run in a default "open-loop" mode using pre-set values until the sensor heats up naturally from the exhaust, which can cause a rough idle and poor performance when cold.
Key Takeaways
  • P0031 on a 2002-2008 Forester points directly to the front passenger-side Air/Fuel Ratio sensor's heater circuit.
  • The most probable cause is a failed sensor. Don't be alarmed by the flashing cruise control light, as this is standard Subaru procedure for a CEL.
  • Before buying a new sensor, perform a quick 2-minute check of the 'A/F Heater' fuse in the engine bay and/or interior fuse box.
  • Confirm the sensor has failed by testing the resistance between the two same-colored heater wires; a good sensor reads 2-4 ohms, while a bad one will read open (OL).
  • When replacing the sensor, inspect for any contact between the wiring/sensor and the exhaust heat shields, as this can cause a short.
The trouble code P0031 stands for "HO2S Heater Control Circuit Low (Bank 1, Sensor 1)". On your Subaru's 2.5L boxer engine, Bank 1 is the passenger-side cylinder bank. Sensor 1 is the upstream Air/Fuel (A/F) ratio sensor located in the exhaust manifold before the catalytic converter. The code means the Engine Control Module (ECM) has detected a problem, such as a short or an open circuit, in the sensor's internal heater element. This heater is designed to warm the sensor up to its effective operating temperature (around 600°F) quickly on cold starts. This allows the engine to enter 'closed-loop' mode faster for accurate air-fuel mixture control, better fuel economy, and reduced emissions.

What's Unique About the 2002-2008 Subaru Forester

A second-generation Subaru Forester (SG) which is prone to P0031 heater circuit codes.
The 2002-2008 Subaru Forester (SG generation) frequently encounters P0031 due to the high heat cycles the front A/F sensor endures.

On this generation of Subaru Forester, the P0031 code is a very common and straightforward issue. The front Air/Fuel ratio sensors, often supplied by Denso from the factory, are a frequent failure point after many years and heat cycles. When the Check Engine Light appears for this code, it is often accompanied by a flashing cruise control light and a disabled vehicle dynamics control (VDC) or traction control light. This is normal Subaru behavior designed to get the driver's attention and is not a separate issue; cruise control is intentionally disabled by the ECM as a safety precaution whenever a check engine light is active.

🎬 Watch: Why your cruise control light is flashing

Generation note: The 2002-2008 model years all fall within the second generation (SG) of the Subaru Forester. However, there was a facelift in 2006 and different part numbers are used for the front A/F sensor depending on the model year and whether the engine is turbocharged (XT) or naturally aspirated (X/XS). The fundamental cause and repair process for P0031 remain the same across this generation.

Symptoms You May Notice

Subaru Forester dashboard showing the Check Engine Light and flashing Cruise Control light.
On many Subarus, a P0031 code will trigger a flashing cruise control light and disable traction control as a safety precaution.
  • Check Engine Light (CEL) illuminated
  • Flashing cruise control light
  • Disabled traction/stability control (VDC) light
  • Reduced fuel economy
  • Rough or unstable idle, especially when the engine is cold
  • Failure to pass an emissions test
  • Engine hesitation or poor performance
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the rear (downstream) oxygen sensor. The code P0031 specifically refers to Sensor 1, which is the front (upstream) sensor.
  • Ignoring a blown fuse. Some owners replace the sensor, but the code returns instantly because the underlying fuse issue was not addressed.

Most Likely Causes

Comparison between a new, clean Air/Fuel ratio sensor and a failed sensor with heavy carbon buildup and a burnt heater element.
A healthy sensor (left) vs. a failed sensor (right). Internal heater element failure is the most common cause of P0031 and cannot always be seen visually.
  1. Failed Front A/F (O2) Sensor Heater Element 🔴 High Probability The internal heater element is a delicate wire that is subjected to thousands of heat cycles and constant vibration, making it the most common point of failure within the sensor. It is considered a wear-and-tear item.
    How to confirm: Unplug the sensor and use a multimeter to measure the resistance between the two heater circuit pins (typically the two same-colored wires, often black). A reading of 'OL' (Open Line) or infinite resistance confirms the heater has burned out. A good sensor should have a low resistance, typically between 2.0 and 4.0 ohms 🎬 See how to test sensor resistance with a multimeter when at room temperature, though some new sensors may read up to 5 ohms.
    Typical fix: Replace the Bank 1, Sensor 1 Air/Fuel Ratio sensor.
    Est. part cost: $120-$280
  2. Blown A/F Sensor Fuse ⚪ Low Probability A short circuit in the sensor's wiring, often from contact with a hot exhaust component or a frayed harness, can cause the fuse to blow as a protective measure.
    How to confirm: Locate the fuse box in the engine compartment and/or the interior fuse panel. Check the fuse labeled 'A/F Heater', 'Engine Sensor', or similar (consult the fuse box diagram or owner's manual). Visually inspect the fuse or use a multimeter to test for continuity. On some non-turbo Foresters, this may be a 20A fuse labeled 'Engine sensor' in the interior fuse box.
    Typical fix: Replace the blown fuse. If the new fuse blows immediately, it indicates a persistent short circuit in the wiring or the sensor itself that must be diagnosed and repaired.
    Est. part cost: $1-$5
  3. Damaged Wiring or Connector ⚪ Low Probability The sensor wiring is located near the hot exhaust manifold and can become brittle, melted, or frayed over time. A common failure point on related Subaru models is the exhaust heat shield rubbing against the sensor or its wiring, causing a short. The connector can also become corroded or filled with debris.
    How to confirm: Visually inspect the entire wiring harness from the A/F sensor to its connection point in the engine bay. Look for any signs of melting, chafing, or broken wires. Pay close attention to where the harness passes near heat shields or the exhaust manifold. Check that the connector is clean, dry, and securely latched.
    Typical fix: Repair the damaged section of wiring or clean/replace the connector. If a heat shield is the cause, bend it away or secure it to create clearance.
    Est. part cost: $10-$50

Rare But Worth Checking

  • Faulty Engine Control Module (ECM): This is extremely rare. The ECM's internal driver for the heater circuit can fail, but all other potential causes should be exhaustively ruled out before considering ECM replacement.

Diagnosis Steps

A multimeter measuring the resistance across the two heater pins of an Air/Fuel ratio sensor.
Using a multimeter to check for continuity in the heater circuit. A reading of 'OL' confirms a failed internal heater element.
  1. Read the code with an OBD-II scanner to confirm P0031 is the primary code.
  2. Locate the main fuse box in the engine bay and the secondary box in the cabin. Check the fuse for the 'A/F Heater' or similarly named circuit. Replace if blown. If it blows again, investigate for a short.
  3. If the fuse is good, locate the front oxygen sensor on the passenger side exhaust manifold.
  4. 🎬 Watch this step-by-step upstream sensor replacement guide
  5. Visually inspect the sensor's wiring harness and connector for any signs of melting, fraying, or contact with heat shields.
  6. Disconnect the sensor's electrical connector. It is typically located on the passenger side strut tower in the engine bay.
  7. Identify the two wires for the heater circuit on the sensor side of the connector (they are usually the same color, often black).
  8. Set a multimeter to measure resistance (Ohms) and place the probes on the two heater pins. A reading of infinite resistance (Open Loop/OL) means the sensor's heater is broken and the sensor must be replaced. A good sensor will read between 2.0 and 4.0 ohms.
  9. If the sensor resistance is within spec, the problem likely lies in the vehicle's wiring. With the key on and engine off, use the multimeter (set to DC Volts) to check for 12V power at one of the corresponding pins on the vehicle-side of the harness.
  10. If power and ground are present at the harness connector and the sensor's resistance is good, the issue could be an intermittent connection or, very rarely, the ECM.

Parts You'll Likely Need

  • Front Air/Fuel Ratio Sensor (2004-2008 XT - Turbo) (OEM #22641AA211, 22641AA450) — This is the upstream sensor for Bank 1 on turbo models. Its internal heater element is the most common failure point. The OEM part number 22641AA211 is often superseded by 22641AA450. The Denso 234-9120 is a direct-fit aftermarket equivalent.
    Trusted brands: Denso, NGK
    OEM price range: $220-$280
    Aftermarket price range: $130-$180
  • Front Air/Fuel Ratio Sensor (2002-2008 X/XS - Non-Turbo) (OEM #22641AA140, 22641AA230) — This is the correct upstream sensor for non-turbo models. The heater element is the component that fails. The Denso 234-9123 is a common direct-fit replacement for these applications.
    Trusted brands: Denso, NGK
    OEM price range: $200-$260
    Aftermarket price range: $120-$170

Platform-Specific Known Issues

  • Heat Shield Interference: On some Subaru models with the EJ25 engine, a rusted or loose exhaust heat shield can make contact with the body of the front A/F sensor. This can cause a direct short to ground, which will repeatedly blow the A/F heater fuse and trigger the P0031 code even with a new sensor. During replacement, it is critical to inspect the clearance around the sensor and bend or remove the interfering portion of the shield.
  • Aftermarket Sensor Compatibility: While Denso is the original equipment manufacturer, some owners have reported persistent P0031 codes when using an off-the-shelf Denso sensor rather than the more expensive, Subaru-branded equivalent. A forum user noted their tuner suggested that Subaru may bin sensors to stricter tolerances. While not definitively proven, if a new aftermarket sensor does not resolve the code and all wiring/fuses are good, trying a genuine Subaru part may be a solution.

Mechanic-Grade Diagnostic Values

  • A/F Sensor Heater Circuit Resistance — expected: 2.0 to 4.0 Ohms at room temperature (approx. 68°F / 20°C).. Failure: A reading of infinite resistance (OL) indicates an open circuit (burned out heater). A reading significantly below 2.0 ohms indicates a short.
  • A/F Sensor Heater Circuit Current Draw — expected: Approximately 1 to 2 Amps when the heater is active (during cold start).. Failure: Zero amps indicates an open circuit or no power/ground. Significantly higher amperage indicates a short circuit.
  • A/F Sensor Heater Power Supply Voltage — expected: Battery voltage (approx. 12V) at the harness connector with Key On, Engine Off.. Failure: Low or no voltage indicates a problem with the fuse, relay, or wiring from the power source.
  • Scan Tool Live Data - A/F Sensor #1 Resistance — expected: Should match the multimeter reading (2-4 ohms).. Failure: A reading of 255 ohms on a Subaru scan tool is a common indicator of an open/failed heater circuit.

Scan Tool Commands That Help

  • Subaru Select Monitor (or equivalent professional scanner): Current Data Display / Live Data — Use this to monitor the 'A/F Sensor #1 Resistance' and 'A/F Sensor #1 Current' PIDs. This allows for real-time observation of the heater circuit's integrity and performance as commanded by the ECM, confirming if the resistance is out of spec or if current is not being drawn.

Wiring & Ground Locations

The location of the front Air/Fuel ratio sensor on a Subaru Forester engine near the exhaust manifold.
The front A/F sensor (Sensor 1) is located in the exhaust manifold before the catalytic converter, often near the passenger side cylinder head.
  • E23 / E24 — The front A/F sensor's main harness connector is located on the passenger-side strut tower in the engine bay.. This is the primary test point for checking voltage, ground, and resistance without having to access the sensor directly. Corrosion or damage here is a common cause of failure.
  • Engine Ground Clusters — Key engine ground wires are bundled and bolted to the top of the intake manifold.. A high-resistance connection at these main grounds can cause a voltage drop under the load of the A/F sensor heater, triggering P0031 even if the sensor and its immediate wiring test good with a low-current multimeter.
  • Interior Fuse Box — Located on the driver's side, behind a cover near the driver's left knee.. On some models, the fuse for the A/F sensor heater (e.g., a 20A fuse labeled 'Engine sensor' on non-turbos) is located here, not in the engine bay. This is an easily missed check.

Real Owner Repair Stories

  • Robinson's Automotive Specialist on YouTube (Jeep Grand Cherokee) (2004 Jeep Grand Cherokee) — Persistent P0031 code.
    ❌ Tried (didn't work) Replacing the Bank 1, Sensor 1 oxygen sensor.
    ✅ What actually fixed it The heater control wire was shorted to ground, causing the heater to be powered constantly. The technician located the short in the harness, repaired the wire, and the code was resolved without needing any new parts.
  • User 'Skip' on Ultimate Subaru Message Board (Various Subaru models) — P0031 code.
    ❌ Tried (didn't work) Extensive electrical diagnosis on every vehicle.
    ✅ What actually fixed it After diagnosing the code extensively the first few times, the technician concluded that in his experience with over 100 cars, simply replacing the front A/F sensor has fixed the P0031 code every single time.

OEM Part Supersession History

  • 22641AA21122641AA450 — Standard part revision and update by the manufacturer.
    Heads up: Part number 22641AA450 is the correct replacement for 22641AA211 for 2.5L turbo models like the Forester XT. Other associated part numbers for this sensor include 22641AA490 and 22641AA32A.

Model Year Variations Within This Range

  • 2006-2008 (Post-facelift): Fuse box diagrams for post-facelift models may have slightly different labels. For example, a 2006 non-turbo model may use a 20A fuse in the interior fuse panel labeled 'Engine sensor' for the A/F heater circuit.

Diagnostic Flowchart

This guide will walk you through diagnosing code P0031 (A/F Sensor Heater Circuit Low). Start with simple visual checks and fuse inspections before testing components with a multimeter.
→ Repair the damaged section of the wiring harness. Ensure it is secured away from hot exhaust components. After the repair, check the A/F sensor fuse and replace it if blown. Clear the codes and see if P0031 returns.
Locate the fuse boxes (engine bay and interior) and check the fuse for the A/F sensor heater (often labeled 'A/F Heater' or 'Engine Sensor', typically 20A on non-turbo models). Is the fuse blown?
Replace the blown fuse. Does the new fuse blow immediately when you turn the ignition key to the 'ON' position?
→ This confirms a persistent short circuit. The most likely cause on this EJ25 engine is the sensor wiring shorting to the exhaust, often due to a rusted or loose heat shield making contact. Inspect the harness thoroughly for the short-to-ground and repair it before trying another fuse.
→ The original fuse may have blown due to a momentary short or an internal failure in the old A/F sensor. Clear the code and drive the vehicle. If P0031 returns, the sensor's heater element is the primary suspect; proceed to test its resistance.
Disconnect the A/F sensor connector (often on the passenger strut tower). Using a multimeter set to Ohms, measure the resistance between the two heater circuit pins on the SENSOR side (typically the two same-colored, black wires). What is the reading?
→ The sensor's internal heater element has burned out. This is the most common failure. Replace the Bank 1, Sensor 1 Air/Fuel Ratio sensor. Note: Some owners report better results with genuine Subaru parts over aftermarket Denso sensors on this platform.
The sensor heater tested good. Now check the VEHICLE-side of the harness connector. With the key ON and engine OFF, use a multimeter to check for DC voltage between the heater circuit power pin and a good chassis ground. Is battery voltage (~12V) present?
→ Power is reaching the harness and the sensor heater is good. The problem is likely in the ground side of the circuit or the connector itself. Check the ground wire for continuity back to the ECM and inspect the connector terminals for corrosion or a loose fit. A faulty ECM driver is a rare but possible cause.
→ The fuse is good but no power is reaching the sensor connector. This indicates an open circuit (a break) in the power wire between the fuse box and the sensor. Trace the wiring harness to find and repair the break.

Used vs. New Parts: Buying Guide for This Vehicle

When a used part is the smart pick: A used part is generally NOT recommended for the A/F sensor itself, as it is a critical wear item with a finite lifespan. However, sourcing a used connector pigtail from a salvage yard is an excellent and cost-effective repair if your vehicle's harness-side connector is melted or damaged.

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 connector: ensure the plastic is not brittle or cracked.
  • Check that the locking tab is intact.
  • Inspect the pins to ensure they are clean, straight, and free of corrosion.
  • Ensure there is at least 6 inches of wiring attached to the pigtail for easier splicing.

Aftermarket brands forum-validated for this vehicle:

  • Denso (OEM supplier)
  • NTK (NGK)

Brands owners have reported issues with on this vehicle:

  • Bosch: Despite being a major sensor manufacturer, many Subaru owners and technicians report persistent codes, incompatibility, and premature failures when using Bosch O2/AF sensors on this platform.

Real Owner Stories

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

2005 Subaru Forester XT Premium

Symptoms: The check engine light came on, displaying code P0031 'HO2S Heater Control Circuit Low Bank 1 Sensor 1'.

What fixed it: Replaced the front O2 sensor, which is the pre-catalyst, pre-turbo sensor located on the passenger side.

Source hint: owner_reports: Useful-Info, '2005 Subaru Forester XT Premium Front O2 sensor R and R'

2008 Subaru WRX

Symptoms: Check engine light with codes P0031 and P0037 stored.

What fixed it: The root cause was found to be an exhaust heat shield that was touching the O2 sensor, causing a short circuit and blowing the related fuse. Fixing the clearance and replacing the fuse resolved the codes.

Source hint: forum_citations: YouTube (Nathan Oikarinen) - repair video for a 2008-2014 WRX

Subaru Forester with EJ25 engine

Symptoms: The P0031 code kept returning and the A/F heater fuse would blow repeatedly, even after installing a brand new sensor.

What fixed it: The problem was a rusted and loose exhaust heat shield making physical contact with the body of the A/F sensor. Bending the heat shield away to create clearance stopped the short circuit.

Source hint: vehicle_specific_issues: Heat Shield Interference

Frequently Asked Questions

Where is the front A/F (O2) sensor located on my 2002-2008 Forester?
The front A/F sensor (Bank 1, Sensor 1) is located on the passenger side exhaust manifold. The electrical connector is typically found on the passenger side strut tower in the engine bay.
My cruise control light is flashing and the VDC/traction control light is on. Is this related to the P0031 code?
Yes, this is a common behavior on this generation of Subaru. When a Check Engine Light is triggered by a code like P0031, the vehicle's computer will often disable the cruise control and Vehicle Dynamics Control (VDC) systems as a precaution, causing their respective lights to illuminate or flash.
What resistance should a good front A/F sensor have on this Forester?
Using a multimeter on the two heater circuit pins (usually the two black wires), a good sensor should read between 2.0 and 4.0 ohms at room temperature. A reading of 'OL' or infinite resistance indicates the internal heater has failed and the sensor needs to be replaced.
I replaced the sensor but the P0031 code came back immediately. What should I check next?
First, check the 'A/F Heater' or 'Engine Sensor' fuse in the interior or engine bay fuse box. If the fuse is blown, a short circuit is likely. A common cause on these vehicles is a rusted or loose exhaust heat shield rubbing against the sensor or its wiring, causing a short to ground. Inspect this area carefully.
What special tool is needed to replace the front oxygen sensor?
You will typically need a 22mm or 7/8" slotted oxygen sensor socket to remove and install the sensor. Access is often easiest from the passenger side wheel well.
I'm seeing a P0031 code even with a new aftermarket Denso sensor. Is this possible?
While uncommon, some owners have reported that certain aftermarket sensors, even from the OEM manufacturer Denso, may not resolve the code. If you have confirmed the fuse and wiring are good, the issue could be a sensor tolerance mismatch, and using a genuine Subaru-branded part may be necessary.
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
How to Replace Upstream O2 Sensor 2005-2009 Subaru Legacy 2.5L
How to Replace Upstream O2 Sensor 2005-2009 Subaru Legacy 2.5L
Subaru Check Engine Light And Cruise Control Flashing (How To Fix)
Subaru Check Engine Light And Cruise Control Flashing (How To Fix)
Why You’re Getting P0031 – O2 Sensor Heater Issues!
Why You’re Getting P0031 – O2 Sensor Heater Issues!
Causes and Fixes P0031 Code: HO2S Heater Control Circuit Low (Bank 1 Sensor 1)
Causes and Fixes P0031 Code: HO2S Heater Control Circuit Low (Bank 1 Sensor 1)
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 Aug 2, 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 Forester: 2002200320042005200620072008
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