P0505 on 1994-1999 Subaru Legacy 2.2L: Idle Control System Fixes
This code means the engine's computer has lost control of the idle speed. The most common cause on this Subaru is a dirty or failing Idle Air Control (IAC) valve. Cleaning the IAC valve and its passages in the throttle body often fixes the issue for under $20 in supplies. If cleaning fails, the valve likely needs replacement.
- P0505 indicates a problem with the engine's idle speed control, not a specific sensor.
- The most likely fix is cleaning the Idle Air Control (IAC) valve and throttle body. This is a low-cost first step.
- Always use a new gasket when reinstalling the IAC valve to prevent vacuum leaks.
- After the repair, reset the ECU by disconnecting the battery and perform an idle relearn procedure for best results.
- If cleaning doesn't solve the problem, the IAC valve itself has likely failed and needs to be replaced.
What's Unique About the 1994-1999 Subaru Legacy
The EJ22 engine from this era is known for its reliability, but its idle control system is susceptible to carbon buildup and vacuum leaks over its long service life. The Idle Air Control (IAC) valve, mounted on the throttle body, is a frequent point of failure. Forum discussions among owners of second-generation Legacys consistently point to cleaning or replacing the IAC valve as the primary fix for P0505 and related idle problems. Unlike some later models with electronic throttle bodies, this system uses a relatively simple and accessible mechanical valve, making it a common DIY repair.
Symptoms You May Notice
- Check Engine Light is on
- Engine stalls when coming to a stop or at idle
- Idle speed is too high (surging) or too low (stumbling)
- Erratic or fluctuating idle RPM, especially in Park
- Difficulty starting the engine without pressing the gas pedal
- Rough running or stalling when electrical load increases (e.g., A/C compressor kicks on)
- Engine enters 'limp mode' with rough running after code appears
- Code appears after significant changes in elevation
- Replacing the Mass Airflow (MAF) sensor without testing. While a MAF issue can cause idle problems, it will typically set its own codes (e.g., P0101, P0102).
- Replacing the front oxygen (O2) sensor. A bad O2 sensor can cause poor running but is less likely to be the root cause of a P0505 code.
- Adjusting the throttle stop screw. This screw is factory-set and should not be used to adjust the idle speed; doing so will only confuse the ECU and make the problem worse.
Most Likely Causes
- Dirty or Sticking Idle Air Control (IAC) Valve 🔴 High Probability → Shop Idle Air Control Valve Over time, carbon and oil vapor from the PCV system build up inside the IAC valve and its air passages, causing the valve's plunger to stick and preventing it from regulating airflow correctly.
How to confirm: Remove the IAC valve (held by two screws on the throttle body). Inspect it and the air passages for black, gummy deposits. A functional test is to leave the valve connected to its wiring harness, turn the ignition to 'ON' (without starting), and watch if the plunger moves in and out. If it doesn't move, it's either seized or has failed electrically.
Typical fix: Thoroughly clean the IAC valve and the throttle body passages with throttle body cleaner. Replace the IAC valve gasket. If cleaning doesn't work, the valve's motor has likely failed and it needs to be replaced. A successful cleaning was the fix for many owners. 🎬 Watch: A step-by-step guide to cleaning your EJ engine IAC valve.
Est. part cost: $10-$20 for cleaner and a gasket, $70-$200 for a new valve. - Vacuum Leak 🟡 Medium Probability After 20+ years, rubber vacuum hoses become brittle, crack, or collapse, allowing unmetered air to enter the engine and disrupt the air-fuel ratio, which the IAC system cannot compensate for.
How to confirm: With the engine running, listen for hissing sounds around the intake manifold and vacuum lines. Carefully spray carburetor cleaner around suspected areas (hoses, intake manifold gasket); a change in engine idle RPM indicates a leak. A smoke test is the most definitive method to find hard-to-see leaks.
Typical fix: Identify and replace the cracked or broken vacuum hose. Common culprits include the PCV hose and the small lines connected to the intake manifold plenum.
Est. part cost: $5-$30 for vacuum hoses. - Dirty Throttle Body ⚪ Low Probability → Shop Fuel Injection Throttle Body Carbon buildup around the throttle plate and in the IAC air passages within the throttle body can restrict airflow, forcing the IAC system to work outside its normal range.
How to confirm: Remove the intake ducting and visually inspect the throttle plate and bore for a ring of black carbon. The IAC passages can also be clogged even if the main bore looks clean.
Typical fix: Clean the throttle body bore, plate, and especially the IAC air passages with a dedicated throttle body cleaner and a soft cloth or brush. This is often done at the same time as cleaning the IAC valve itself.
Est. part cost: $10-$15 for cleaner.
Rare But Worth Checking
- Faulty Engine Coolant Temperature (ECT) Sensor: The ECU uses the ECT sensor to determine how much to open the IAC valve during cold starts for a high idle. A faulty sensor can send incorrect data, leading to idle problems. This is worth checking if idle is only bad when the engine is cold or hot.
- Wiring or Connector Issue to IAC Valve: A damaged wire or corroded connector can prevent the IAC valve from receiving commands from the ECU. Check for 12V power at the connector with the key on. Wiggling the connector while the engine is running may cause a change in idle, indicating a poor connection.
- Faulty Vehicle Speed Sensor (VSS): A forum member noted that the ECU uses the VSS signal to help control idle as the car comes to a stop. If the ECU is not receiving a speed signal (reading 0 mph while moving), it can trigger a P0505. This can be checked with an OBD-II scanner that shows live data.
Diagnosis Steps
- Verify the code with an OBD-II scanner. Note any other codes present and check freeze frame data.
- Visually inspect all vacuum hoses connected to the intake manifold for cracks, disconnections, or soft/collapsed sections. Pay close attention to the PCV valve and its hose.
- Inspect the air intake duct between the air filter and the throttle body for any cracks or loose clamps.
- Remove the Idle Air Control (IAC) valve from the side of the throttle body. Inspect for heavy carbon buildup.
- Test the IAC valve's coil resistance. Using a multimeter, check the resistance between the center pin and each of the outer pins. A good reading is between 8.6 and 10.6 ohms.
- Thoroughly clean the IAC valve and its gasket surface using throttle body cleaner. Also clean the corresponding air passages in the throttle body.
- Reinstall the IAC valve with a new gasket. Do not reuse the old one.
- Disconnect the negative battery terminal for at least 30 minutes to reset the ECU's learned memory.
- Reconnect the battery and perform an idle relearn procedure: a. Turn the key to the ON position (do not start the engine) for 10-15 seconds to allow the IACV to find its home position. b. Start the engine and let it idle for 10-15 minutes with NO loads (no A/C, lights, radio). c. Turn the engine off and wait at least 20 seconds. d. Restart the engine and let it idle for another 5 minutes. e. The ECU should now be retrained. 🎬 Watch: How to correctly perform the Subaru idle relearn process.
- If the problem persists, test the IAC valve's wiring harness for 12V power with the key on. If wiring is good and the valve failed the resistance test or doesn't move, the IAC valve itself has failed and requires replacement. 🎬 See this walkthrough on how to replace the valve yourself.
Parts You'll Likely Need
- Idle Air Control Valve
(OEM #22650AA192 (supersedes 22650AA19C))— This is the most common failure point for P0505. The internal motor fails or the valve gets stuck beyond what cleaning can fix.
Trusted brands: Genuine Subaru, Standard Motor Products, Denso
OEM price range: $150-$250
Aftermarket price range: $70-$150 - Idle Air Control Valve Gasket
(OEM #22659AA120)— The gasket must be replaced anytime the IAC valve is removed to prevent vacuum leaks. It is not reusable and critical for a proper seal.
Trusted brands: Genuine Subaru, Fel-Pro
OEM price range: $5-$10
Aftermarket price range: $2-$5
Related Codes That Often Appear With This One
- P0506 — This code for 'Idle RPM Lower Than Expected' can appear with P0505 if the IAC valve is stuck closed or passages are severely clogged.
- P0507 — This code for 'Idle RPM Higher Than Expected' can appear with P0505 if the IAC valve is stuck open or there is a significant vacuum leak.
Platform-Specific Known Issues
- Loose ECU Connector Pin on 1995 Models: A forum post referencing a potential service bulletin for the 1995 Legacy notes that P0505 can be caused by pin 13 (a ground wire) backing out of the B22 ECU connector. This is a rare but specific electrical fault to check if other diagnostics fail.
- Owner Experience: Replacement Fixes Erratic Idle: An owner on the Ultimate Subaru Message Board with a '95 EJ22 engine reported getting P0505 with an erratic idle and the ECU entering limp mode. After checking vacuum lines, the problem was ultimately solved by replacing the IACV with a used unit, which restored normal idle speeds. URL: https://www.ultimatesubaru.org/forum/topic/165188-continuing-idle-issues-with-1995-ej22-engine-1997-legacy-gt/
Mechanic-Grade Diagnostic Values
- IAC Valve Power Supply Voltage — expected: 9 - 14 V. Failure: Voltage below 9V or absent indicates a wiring issue between the IAC valve and the EFI main relay.
- ECU Output Voltage to IAC Valve — expected: 9 - 14 V. Failure: Voltage below 9V or absent when measured at the ECU connector (e.g., terminal RSD on connector E11 for a '95 model) points to an internal ECU fault, assuming the main relay and power supply are good.
- ECM Ground Strap Resistance — expected: < 0.1 Ω. Failure: Higher resistance indicates a poor ground connection, which can cause erratic ECU behavior and trigger various codes, including P0505.
Scan Tool Commands That Help
- Subaru Select Monitor: Current Data Display & Save — This function allows a technician to view live data from the engine controller, including commanded idle speed vs. actual idle speed, and the status of related inputs like the idle switch signal and sensor voltages. This is critical for observing if the ECU is commanding a change that the IAC valve is not performing.
Wiring & Ground Locations
- Main Engine Ground — On the top of the intake manifold, often near the throttle body. The ECU itself relies on the intake manifold being properly grounded to the chassis.. A poor ground at this location can cause a host of erratic electrical issues, including incorrect sensor readings and faulty actuator control, directly impacting the idle control system. The ECU gets its primary ground reference from here.
- Battery to Chassis Ground — The main negative battery cable connects directly to the chassis, typically on the strut tower or inner fender.. Corrosion or looseness at this primary ground point can cause system-wide voltage drops and instability for all electronic modules, including the ECU.
- IAC Valve Connector — A 3-pin electrical connector attached directly to the Idle Air Control Valve on the throttle body.. This is the direct connection for power and control signals to the IAC valve. Pin 2 should have 9-14V with the key on. The other pins are for the control signal from the ECU.
Real Owner Repair Stories
- Ultimate Subaru Message Board user (1996 Subaru Legacy 2.2L, Manual Transmission, 112,000 miles) — Engine stalling occasionally, Check Engine Light with codes P0505 and P0507 (Idle RPM Higher Than Expected).
❌ Tried (didn't work) Cleaning the throttle body (this reduced the frequency of the problem but did not eliminate it).
✅ What actually fixed it The recommended fix from a senior forum member was to replace the Idle Air Control (IAC) valve with a new OEM part from Subaru. - Busaru.com wiring harness video series (Subaru EJ series engine (generic, applicable to EJ22)) — Potential for an engine code if the Neutral Position Switch is not addressed during an engine swap or wiring repair.
✅ What actually fixed it The ECU looks for a 5V signal from the Neutral Position Switch. If this signal is missing, it can affect idle control logic. For swaps, this is often handled by wiring in a 5V voltage regulator to the switch signal wire or simply leaving it disconnected and accepting the resulting code if it doesn't impact performance significantly. For a P0505 diagnosis, this implies a faulty switch or wiring could be an overlooked cause.
OEM Part Supersession History
22650AA19C→22650AA192— Standard part number update/revision.
Heads up: The part 22650AA192 is listed as the replacement for 22650AA19C. They are generally interchangeable for this application.
Model Year Variations Within This Range
- 1990-1994: Early (1990-1994) Legacies used different IAC valve designs depending on the transmission. Automatic transmission models used a rotary-type valve, while manual transmission models used a shutter-type. Post-1994 models, including the vehicle in question, standardized on the rotary-type valve for the 2.2L engine.
Diagnostic Flowchart
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
1997 Subaru Legacy (with 1995 EJ22 engine)
Symptoms: Getting P0505 most anytime the car is started. Weird noise coming from the air tube, erratic idle that fluctuates (especially in park), engine ran rough like the ECU put it in limp mode.
What fixed it: Replaced the IACV with a used one.
Source hint: Ultimate Subaru Message Board thread 'Continuing idle issues with '95 EJ22 engine'
1996 Subaru Legacy 2.2L — 112000 miles
Symptoms: Engine dies occasionally, CEL with codes P0505 and P0507.
What fixed it: Cleaning the throttle body vastly reduced the problem.
Source hint: Ultimate Subaru Message Board thread 'P0505 and P507 on 96 Legacy'
Related OBD-II Codes
Frequently Asked Questions
How do I test the IAC valve on my 2.2L EJ22 engine to see if it's causing the P0505 code?
I cleaned the IAC valve on my 1994-1999 Legacy but the idle is still erratic. What else should I check?
Do I need to perform an idle relearn procedure after replacing or cleaning the IAC valve?
Is there a specific electrical issue that causes P0505 on 1995 Legacy models?
Are there other Subaru models that share this exact P0505 issue with the Legacy?
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 Legacy:
- 🧭 Diagnostic Flowchart
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 1994-1999 Subaru Legacy
- 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
- 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
- Real Owner Stories
- 1997 Subaru Legacy (with 1995 EJ22 engine)
- 1996 Subaru Legacy 2.2L — 112000 miles
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off