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

P0505 on 2000-2004 Subaru Legacy 2.5L: Idle Control System Causes and Fixes

On a 2000-2004 Subaru Legacy, code P0505 is almost always caused by a dirty or faulty Idle Air Control (IAC) valve. A thorough cleaning of the IAC valve and throttle body often resolves the issue, but replacement is a common fix. Always use a new gasket when reinstalling the IAC valve, as the old one will not seal correctly. An ECU reset and idle relearn procedure are required after the repair.

18 minutes to read 2000-2004 Subaru Legacy
Most Likely Cause
Dirty or Sticking Idle Air Control (IAC) Valve
Difficulty
2/5
Est. Time
1 hrs
DIY Doable?
✅ Yes
Shop Labor
$75 – $350
Parts Price
$15 – $170
⚠️ Drivable, but... — Driving is possible, but the engine may stall unexpectedly at stops, which can be dangerous in traffic. An erratic or high idle can also make low-speed maneuvering difficult, increase braking distances, and put extra stress on engine components.
Key Takeaways
  • P0505 on a 2000-2004 Subaru Legacy points directly to a problem with the Idle Air Control (IAC) system.
  • The most probable cause is a dirty or sticking IAC valve. A thorough cleaning may fix the problem temporarily or permanently.
  • Always replace the IAC valve gasket with a new one whenever the valve is removed. Reusing the old gasket is a common cause of repeat failure.
  • Before replacing any parts, inspect for cracked or disconnected vacuum hoses, as these can also cause the code.
  • This is a common DIY repair that requires basic tools and cleaning supplies.
The trouble code P0505 stands for "Idle Control System Malfunction." This means the Engine Control Module (ECM) has detected a problem with the system that manages the engine's idle speed. The ECM is unable to maintain the desired engine RPM at idle (typically 650-750 RPM), resulting in an idle that is too high, too low, or erratic. On the 2.5L EJ25 engine, this system uses an Idle Air Control (IAC) valve to allow a specific amount of air to bypass the closed throttle plate, keeping the engine running smoothly.

What's Unique About the 2000-2004 Subaru Legacy

The EJ25 engine in this generation of Subaru Legacy, specifically the SOHC EJ251 variant, is known for having its Idle Air Control (IAC) valve mounted directly to the throttle body. This location makes it susceptible to carbon and oil vapor buildup from the PCV system. Over time, this buildup can cause the valve's internal plunger or rotary gate to stick, leading to the P0505 code. Owners frequently report that simply cleaning the valve and its port on the throttle body is a successful first step. 🎬 Watch this quick guide on cleaning the IAC valve. Critically, the rubber gasket is a one-time-use part; it swells from heat and will not fit or seal properly if reused, guaranteeing a vacuum leak.

Symptoms You May Notice

  • Erratic, fluctuating, or hunting idle speed.
  • Idle speed is too high or too low.
  • Engine stalling, especially when coming to a stop or when electrical loads (like A/C) are activated.
  • Difficulty starting the engine without pressing the accelerator.
  • Check Engine Light is illuminated.
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the throttle position sensor (TPS) without diagnosis. While a TPS can cause performance issues, it does not directly control idle air and is less likely to be the sole cause of P0505.
  • Replacing the entire throttle body when only cleaning is needed.

Most Likely Causes

  1. Dirty or Sticking Idle Air Control (IAC) Valve 🔴 High Probability → Shop Idle Air Control Valve The IAC valve on the EJ25 engine is prone to carbon 🎬 See how to replace the IACV on an EJ25 engine. and oil vapor buildup from the PCV system, causing the internal plunger to stick.
    How to confirm: Remove the IAC valve from the throttle body (typically two Phillips screws that are prone to stripping). Visually inspect the valve and its air passages for heavy, black carbon deposits. The plunger should move freely. Tapping on the IAC valve while the engine is running may temporarily change the idle, indicating it is sticking.
    Typical fix: Thoroughly clean the IAC valve's plunger and the throttle body passages with throttle body cleaner and a soft brush or Q-tips. Do not spray cleaner directly into the electronic/motor part of the valve. If cleaning does not resolve the issue, the valve's internal motor has likely failed and requires replacement.
    Est. part cost: $15-$30 (Cleaning supplies), $50-$150 (Aftermarket IAC Valve)
  2. Vacuum Leak 🟡 Medium Probability Aging rubber vacuum hoses become brittle and crack. A very common source is reusing the old IAC valve gasket, which swells and fails to seal properly upon reinstallation, creating a guaranteed leak.
    How to confirm: With the engine running, listen for hissing sounds around the intake manifold and vacuum lines. You can also carefully spray short bursts of brake cleaner or an unlit propane torch around suspected areas; a change in idle RPM indicates a leak. Inspect all hoses connected to the intake manifold for cracks or loose connections.
    Typical fix: Replace the cracked or disconnected vacuum hose. Always replace the IAC valve gasket (Part No. 22659AA120) when the valve is removed.
    Est. part cost: $5-$50
  3. Dirty Throttle Body 🟡 Medium Probability → Shop Fuel Injection Throttle Body Carbon and grime can build up around the throttle plate and in the IAC air passages, restricting airflow and confusing the idle control system.
    How to confirm: Remove the intake boot from the throttle body and inspect for a thick ring of black carbon buildup around the throttle plate and bore.
    Typical fix: Clean the throttle body bore and plate with throttle body cleaner and a soft brush or rag. Ensure the IAC passages are also cleaned thoroughly.
    Est. part cost: $10-$20 (Cleaner and supplies)
  4. Faulty IAC Valve Circuit ⚪ Low Probability
    How to confirm: Inspect the IAC valve's electrical connector for corrosion or damage. The plastic can become brittle with age and engine heat, causing a poor connection. Use a multimeter to check for 12V power and ground at the connector according to the vehicle's service manual. Wiggling the connector with the engine running may cause a change in idle, indicating a poor connection.
    Typical fix: Repair the damaged wiring or clean the connector terminals. In some cases, the connector itself may need to be replaced with a pigtail kit.
    Est. part cost: $10-$40

Rare But Worth Checking

  • Faulty Vehicle Speed Sensor (VSS): A failed VSS can sometimes trigger a P0505 code. The ECU uses the VSS signal to anticipate stops and adjust idle accordingly. If the speedometer is also malfunctioning, the VSS is a strong suspect. One owner on a forum fixed their P0505 by replacing the VSS.
  • Faulty Engine Control Module (ECM): → Shop Engine Control Module (ECM) This is extremely rare. The ECM should only be considered after all other possibilities, including the IAC valve, vacuum leaks, and wiring, have been thoroughly ruled out. A failed IAC driver circuit inside the ECM can mimic a bad valve.

Diagnosis Steps

  1. Check for any other stored trouble codes. Address those first if they are present.
  2. Visually inspect all vacuum hoses connected to the intake manifold for cracks, brittleness, or disconnection. Pay close attention to the PCV hoses.
  3. With the engine running, listen for audible hissing noises that would indicate a vacuum leak.
  4. Remove the plastic engine cover and intake ducting to access the throttle body.
  5. Unbolt the Idle Air Control (IAC) valve from the side of the throttle body. These are often Phillips head screws that can strip easily; using a manual impact driver or a well-fitting flathead screwdriver can help. Be prepared for a small amount of coolant to leak from the lines connected to the valve.
  6. Inspect the IAC valve and the port on the throttle body for heavy carbon buildup.
  7. Clean the IAC valve's plunger and the throttle body passages using throttle body cleaner and a soft brush. Do not spray cleaner directly into the electronic part of the valve.
  8. Clean the throttle body plate and bore while access is available.
  9. Reinstall the IAC valve using a NEW gasket (Part No. 22659AA120). Reusing the old gasket will almost certainly cause a vacuum leak.
  10. Disconnect the negative battery terminal for 30 minutes to reset the ECU's learned memory.
  11. Perform an Idle Relearn Procedure: Reconnect the battery. Turn the key to 'ON' for 15 seconds (do not start). Turn off. Start the engine without touching the gas pedal and let it idle for 10-15 minutes as the ECU relearns. The idle may fluctuate during this period.
  12. 🎬 Watch a video demonstration of the Subaru idle relearn procedure.
  13. If the problem persists after cleaning, test the IAC valve's electrical circuit for power, ground, and signal with a multimeter.
  14. If the circuit is good, the IAC valve itself has likely failed and should be replaced.

Parts You'll Likely Need

  • Idle Air Control Valve (OEM #22650AA182) — This valve is the most common failure point for the P0505 code, either due to carbon buildup causing it to stick or internal electronic failure. This part number may also be listed as a replacement for 22650AA181.
    Trusted brands: Subaru (OEM), Denso, Hitachi
    OEM price range: $150-$250
    Aftermarket price range: $50-$150
  • Idle Air Control Valve Gasket (OEM #22659AA120) — This gasket is a one-time-use part. It is a rubber-coated metal gasket that swells with heat and will not fit or seal properly if reused, creating a vacuum leak that can trigger the P0505 code again. Many forum posts and videos emphasize that replacing this gasket is not optional.
    Trusted brands: Subaru (OEM), Fel-Pro
    OEM price range: $5-$10
    Aftermarket price range: $2-$5

Related Codes That Often Appear With This One

  • P0507 — Idle Control System RPM Higher Than Expected. This code may appear if the IAC valve is stuck open or there is a significant vacuum leak.
  • P0506 — Idle Control System RPM Lower Than Expected. This code can be triggered if the IAC valve is stuck closed or its passages are completely clogged.
  • P0171 — System Too Lean (Bank 1). A vacuum leak large enough to trigger P0505 will introduce unmetered air, causing a lean condition.

Technical Service Bulletins (TSBs) & Recalls

  • While no specific TSB for P0505 on this exact model was found, Subaru has issued bulletins for idle fluctuation on other models (e.g., 11-84-07 for 2005+ PZEV vehicles) which indicates a history of addressing idle control logic. However, for the 2000-2004 Legacy, the issue is overwhelmingly mechanical (IAC valve/gasket) rather than software-related.

Platform-Specific Known Issues

  • The two Phillips head screws holding the IAC valve to the throttle body are notoriously easy to strip. Owners recommend using a manual impact driver or a large, well-fitting flathead screwdriver to break them loose. Some owners replace them with hex-head bolts for easier future service.

Mechanic-Grade Diagnostic Values

  • Idle Air Control (IAC) Valve Coil Resistance — expected: ~30 Ohms. Failure: A reading of near-zero ohms (short circuit) or infinite ohms (open circuit).
  • Engine Idle Speed (Warm, No Load) — expected: 680-750 RPM (Manual or Automatic Transmission). Failure: Sustained idle below 600 RPM or above 850 RPM, or erratic fluctuation.
  • IAC Valve Connector Voltage — expected: One pin should have constant 12V+ with key on, one pin should be ground (<1 Ohm to chassis ground), and one is the signal wire from the ECM.. Failure: Absence of 12V power or a high-resistance ground indicates a wiring issue upstream of the valve.

Scan Tool Commands That Help

  • Subaru Select Monitor (SSM) or equivalent professional scanner: IAC System Test / Actuate Idle Air Control Motor — Use this bidirectional command when the IAC valve has been cleaned but idle problems persist. This function forces the valve to open or close, allowing a technician to verify if the valve is physically responding to commands. If the RPM does not change when commanded, the valve is either stuck, has failed electrically, or there is a wiring issue. If it does respond, the issue may be with the ECM or sensor inputs.

Wiring & Ground Locations

  • Ge — Main engine ground point, typically located on the intake manifold at the right rear of the engine.. This is a primary ground point for the engine and its sensors. A loose or corroded connection here can cause a host of erratic sensor readings and drivability issues, including poor idle control.
  • Gb-3 — Ground point located on the left side of the firewall.. This ground serves multiple components within the engine bay and cabin. Ensuring it is clean and tight is a crucial step in diagnosing any electrical fault.
  • Engine Control Module (ECM) — Located behind the right side of the dashboard, near the passenger's kick panel.. Knowing the physical location is critical for inspecting the ECM connectors for corrosion or damage and for testing the IAC valve circuit continuity back to the source.
  • B54 — The harness connector for the Idle Air Control valve itself.. This connector is a common point of failure due to engine heat making the plastic brittle. Wiggling this connector while the engine is running can help diagnose an intermittent connection.

Real Owner Repair Stories

  • Ultimate Subaru Message Board User (1996 Subaru Legacy 2.2L (Slightly older but with a very similar EJ-series engine and IAC design)) — Codes P0505 and P0507, with occasional stalling.
    ❌ Tried (didn't work) Initial diagnosis pointed towards multiple possible causes.
    ✅ What actually fixed it A thorough cleaning of the throttle body and the Idle Air Control (IAC) valve resolved all symptoms and codes. This highlights that cleaning is a highly effective first step before replacing parts.

OEM Part Supersession History

  • 22650AA18122650AA182 — Standard part revision and improvement by the manufacturer.
    Heads up: None. Part number 22650AA182 is the correct and direct replacement for 22650AA181 for this application.

Model Year Variations Within This Range

  • 2000-2004: While other Subaru models from the same era (like the Impreza WRX) sometimes used a 6-wire stepper motor IAC valve, the naturally aspirated EJ251 in the Legacy consistently used a 3-wire PWM-style IAC valve. However, it is always a good practice to visually confirm the 3-pin connector on your specific vehicle before ordering a replacement part.

Diagnostic Flowchart

Other Known Issues on This Vehicle

Issues unrelated to this code that are worth knowing about as an owner of this generation:

  • Head Gasket Failure 🔴 High — Very common, typically between 100,000 and 150,000 miles. The Phase II EJ25 engine in this generation is known for external oil and coolant leaks from the head gaskets.
  • Rear Wheel Well / Subframe Rust 🔴 High — Common in regions that use road salt. Rust forms in the rear wheel arches and can spread to the strut towers and subframe, compromising structural integrity.
  • Wheel Bearing Failure 🟠 Medium — Front and rear wheel bearings have a shorter-than-average lifespan, often requiring replacement around 80,000-120,000 miles. Symptoms include a loud humming or grinding noise that changes with vehicle speed.
  • Frameless Window Wind Noise 🟡 Low — The rubber window gussets at the top corner of the front doors wear out or get stretched over time, leading to excessive wind noise at highway speeds.

Used vs. New Parts: Buying Guide for This Vehicle

When a used part is the smart pick: A used IAC valve is a gamble, as it is a common failure item. It only makes sense if it is from a very low-mileage donor vehicle and can be tested for resistance before purchase. A used throttle body housing is generally safe if undamaged.

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

What to inspect on the donor part:

  • Check resistance across the pins with a multimeter; it should be within the ~25-35 Ohm range.
  • Inspect the coolant passages for signs of heavy corrosion or blockage.
  • Avoid parts from engines that show signs of severe oil leaks or sludge ('mayonnaise') under the oil cap.

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

  • Idle Air Control Valve Gasket (22659AA120): This part is inexpensive and critical for a proper seal. Never reuse the old one. While quality aftermarket like Fel-Pro is acceptable, OEM is guaranteed to fit.
  • Idle Air Control Valve (22650AA182): Due to high failure rates of cheap aftermarket units, it is strongly recommended to use an OEM Subaru part or one from the original equipment manufacturer, such as Denso or Hitachi.

Aftermarket brands forum-validated for this vehicle:

  • Denso
  • Hitachi

Brands owners have reported issues with on this vehicle:

  • Unbranded, low-cost IAC valves from online marketplaces like eBay or Amazon have a reputation for premature failure, often within days or weeks of installation.

Real Owner Stories

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

2000-2004 Subaru Legacy EJ25

Symptoms: The IAC valve was failing, causing the engine to have an erratic or hunting idle speed and the Check Engine Light to illuminate.

What fixed it: The owner addressed the failing IAC valve, which is a known issue on this platform due to carbon and oil vapor buildup.

Source hint: i-club.com - Thread 'IAC valve failing' (2013)

Frequently Asked Questions

Does TSB 11-84-07 for idle fluctuation apply to my 2000-2004 Subaru Legacy?
No. While Subaru issued TSB 11-84-07 for 2005 and newer PZEV vehicles, the 2000-2004 Legacy P0505 issue is overwhelmingly mechanical, involving the IAC valve or gasket, rather than the software logic addressed in that bulletin.
Can I reuse the old gasket when cleaning the IAC valve on my EJ25 engine?
No. Reusing the old gasket is a common cause of failure because the rubber swells and fails to seal properly upon reinstallation. You should always use a new gasket (Part No. 22659AA120) to avoid creating a vacuum leak.
I'm having trouble removing the IAC valve; the screws won't budge. What should I do?
The two Phillips head screws on the EJ25 throttle body are notoriously easy to strip. It is recommended to use a manual impact driver or a large, well-fitting flathead screwdriver to break them loose. Some owners replace them with hex-head bolts for easier future service.
Will cleaning the IAC valve fix my P0505, or do I need to buy a new one?
Cleaning often works if the internal plunger is just sticking due to carbon buildup. However, if the internal motor has failed, cleaning will not resolve the issue and a replacement (costing $50-$150 for aftermarket) will be required.
Why does my Legacy stall specifically when I turn on the A/C?
The IAC valve is responsible for adjusting the idle speed when electrical loads like the A/C are activated. If the valve is sticking or the passages are clogged with carbon, the engine cannot compensate for the extra load, leading to a stall.
Is there a specific procedure I need to follow after cleaning the IAC valve?
Yes. You should perform an Idle Relearn Procedure: Disconnect the battery for 30 minutes to reset the ECU, reconnect it, turn the key to 'ON' for 15 seconds (don't start), turn off, then start the engine and let it idle for 10-15 minutes without touching the gas pedal.
Idle air Control symptoms cleaning fix quick video Subaru Legacy 2001 IAC valve
Idle air Control symptoms cleaning fix quick video Subaru Legacy 2001 IAC valve
Replacing the IACV (Idle Air Control Valve) on a Subaru EJ25
Replacing the IACV (Idle Air Control Valve) on a Subaru EJ25
Subaru Idle Relearn Procedure
Subaru Idle Relearn Procedure
Subaru Idle Relearn Procedure
Subaru Idle Relearn Procedure
Subaru legacy stalling rough idle bad fuel mileage simple repair
Subaru legacy stalling rough idle bad fuel mileage simple repair
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 May 30, 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 P0505 (Deep Dive) for:
  • Subaru Legacy: 20002001200220032004
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