P0123 on a 2003-2009 Subaru Legacy: Throttle Position Sensor Circuit High Input Causes and Fixes
Code P0123 on a 2003-2009 Subaru Legacy most often means the throttle position sensor (TPS) has failed or there is a wiring issue causing a high voltage signal. This sensor tells the engine computer how far open the throttle is. Replacing the sensor is the most common fix. For 2003-2005 models, the part is around $20-$70 aftermarket or $100-$150 OEM. For 2005-2009 models with electronic throttle, the sensor may be integrated with the throttle body, potentially increasing repair costs.
- P0123 on a 2003-2009 Legacy points to a high voltage signal from the throttle position sensor (TPS).
- The most likely cause is a failed TPS, which is a common wear-and-tear item.
- Symptoms typically include hesitation, rough idling, limp mode, and poor engine response.
- Diagnosis involves testing the sensor's voltage output with a multimeter; a reading stuck near 5V confirms the issue.
- For 2003-early 2005 models, replacing the sensor is a straightforward DIY job. For later 2005-2009 models, the entire electronic throttle body may need replacement.
What's Unique About the 2003-2009 Subaru Legacy
The 2003-2009 Subaru Legacy spans two generations: the third (2003-2004, BE/BH) and the fourth (2005-2009, BL/BP). The third generation and early fourth generation models use a conventional throttle cable with a separate, replaceable TPS. The fourth generation increasingly incorporated electronic throttle control (ETC) or 'drive-by-wire' systems. On these ETC models, the TPS is integrated into the throttle body assembly and may not be offered as a separate part by Subaru. While P0123 still points to the sensor on the throttle body (not the accelerator pedal sensor), the repair may involve replacing the entire throttle body. The issue is almost always electrical—either the sensor itself failing, a wiring short to voltage, or a poor ground connection.
Generation note: This range covers the end of the third generation (2003-2004, BE/BH) and the entire fourth generation (2005-2009, BL/BP). The fundamental cause for P0123 is consistent, but the repair differs. For 3rd gen and early 4th gen models, the TPS is a simple, replaceable sensor. For most 4th gen models, it is part of the electronic throttle body. Part number 22633AA210 is for the earlier models.
Symptoms You May Notice
- Check Engine Light is on
- Hesitation or stumbling during acceleration
- Rough or high idle speed
- Poor acceleration or reduced engine power
- Engine stalling
- Poor fuel economy
- Vehicle may enter a 'limp mode' with limited speed
- Sensation of misfire or engine chugging
- Replacing the entire throttle body when only the sensor is at fault (on models where it's separable).
- Replacing the accelerator pedal position (APP) sensor on drive-by-wire models, when P0123 specifically points to the sensor 'A' on the throttle body.
Most Likely Causes
- Faulty Throttle Position Sensor (TPS) 🔴 High Probability → Shop Fuel Injection Throttle Body The TPS is a sensor with internal wipers that move across a resistive strip. Over many cycles, this strip can wear out, creating dead spots or shorting internally, leading to an incorrect high voltage signal.
How to confirm: With the key on and engine off, use a multimeter to back-probe the TPS signal wire. The voltage should be around 0.5V at closed throttle and sweep smoothly up to ~4.5V at wide-open throttle. A reading that is stuck high (near 5V) regardless of throttle position confirms a faulty sensor. Forum users with this code have reported seeing a constant 5V signal and 100% throttle reading on their scan tools at idle.
Typical fix: Replace the throttle position sensor on cable-driven models. For electronic throttle models, the entire throttle body assembly may need to be replaced if the sensor is not sold separately.
Est. part cost: $20-$70 - Wiring or Connector Issue 🟡 Medium Probability Engine vibrations and heat can cause wiring to fray or connectors to become loose or corroded. A short to voltage, where the signal wire rubs against a power source, is a specific cause for a 'high input' code. A bad ground connection for the sensor can also cause erratic readings.
How to confirm: Visually inspect the wiring harness leading to the TPS for any signs of damage, such as cuts, burns, or chafing. Check the connector for corrosion or bent pins. Use a multimeter to check for a stable 5V reference and a good ground at the connector. Test for continuity and shorts between the TPS connector and the ECM.
Typical fix: Repair the damaged section of wiring or clean/replace the connector. Ensure the connection is secure and apply dielectric grease to prevent future corrosion.
Est. part cost: $5-$25
Rare But Worth Checking
- Dirty Throttle Body: → Shop Fuel Injection Throttle Body While less common for causing a 'high input' code, significant carbon buildup can cause the throttle plate to stick slightly open, causing the TPS's base reading to be higher than expected.
- Faulty Engine Control Module (ECM): → Shop Engine Control Module (ECM) This is a very rare cause. One owner on a forum suspected an ECM issue after an engine swap when replacing the pedal and throttle body did not resolve the code. The ECM should only be considered after all other possibilities have been exhaustively ruled out.
Diagnosis Steps
- Retrieve the P0123 code using an OBD-II scanner and note any other codes present. Check live data to see what throttle percentage the ECU is reading.
- Visually inspect the throttle position sensor and its connector for any obvious damage, looseness, or corrosion.
- Inspect the wiring harness between the TPS and the ECM for any signs of damage, such as fraying or heat damage, particularly where it might rub against other components.
- With the ignition in the 'ON' position (engine off), use a multimeter to check the voltage on the TPS signal wire while manually opening and closing the throttle. The voltage should sweep smoothly from approximately 0.5V to 4.5V. A constant high voltage reading points to a bad sensor or a short to power.
- Verify a stable 5-volt reference signal and a good ground at the TPS connector. A poor ground can cause a floating high signal.
- If the sensor and wiring test correctly, the issue may be a dirty throttle body causing the plate not to close properly. Inspect and clean if necessary.
- If all other tests pass, the final and least likely cause is a faulty ECM.
Parts You'll Likely Need
- Throttle Position Sensor (TPS)
(OEM #22633AA210 (supersedes 22633AA140))— This is the most frequent point of failure for the P0123 code due to internal wear. This specific part number is for 2003-2004 models and some 2005 models with a cable throttle.
Trusted brands: Denso, Hitachi, Walker, Genuine Subaru
OEM price range: $100-$150
Aftermarket price range: $20-$70 - Throttle Body Assembly
(OEM #Varies by year and engine)— For most 2005-2009 models with Electronic Throttle Control (ETC), Subaru may not sell the TPS separately. If the sensor fails, replacing the entire throttle body assembly is the standard repair, significantly increasing the cost.
Trusted brands: Genuine Subaru
OEM price range: $300-$500+
Aftermarket price range: $150-$300
Related Codes That Often Appear With This One
- P0121 — This code indicates a 'Throttle/Pedal Position Sensor/Switch A Circuit Range/Performance' problem, suggesting the sensor's output is not correlating correctly with other sensors, which can happen as a TPS begins to fail.
- P0122 — This is for 'Circuit Low Input', the opposite of P0123. Seeing both or intermittent switching between them can point to a severely faulty sensor or a wiring short.
- P2122 / P2127 — These codes relate to the accelerator pedal position sensor. While P0123 is for the throttle body, a major electrical issue or a faulty ECM could potentially trigger codes for both circuits simultaneously.
Platform-Specific Known Issues
- Stuck at 100% Throttle Reading: A common failure mode reported by 2005 Legacy GT owners is that a scan tool will show the throttle position at 100% and the signal voltage at 5V, even at idle with no foot on the pedal. This causes the car to chug, run poorly, and enter limp mode. In one documented case, swapping the throttle body from a known-good car did not fix the issue, pointing to a more complex wiring or ECU problem.
- Intermittent Fault: Some owners on forums have reported that the P0123 code appeared, causing rough running, but was resolved by simply clearing the code with a scan tool or Accessport. This suggests the fault can be intermittent, possibly related to a loose connection or a sensor on the verge of complete failure.
Mechanic-Grade Diagnostic Values
- TPS Signal Wire Voltage (Key On, Engine Off) — expected: Approx. 0.45V - 0.5V at closed throttle, sweeping smoothly to approx. 4.5V at wide-open throttle.. Failure: A voltage reading that is stuck high (above 4.65V) regardless of throttle plate angle.
- TPS Resistance (Cable-throttle models, sensor removed) — expected: Resistance should change smoothly as the sensor is rotated. One test showed a good sensor should be between 0.3 and 0.7 kilo-ohms between certain pins.. Failure: A reading that is significantly out of spec (e.g., 2.14 kilo-ohms) or shows dead spots (infinite resistance) when rotated.
- Electronic Throttle Body Main vs. Sub Sensor Signals — expected: The Main TPS voltage should go from low to high (e.g., 0.5V to 4.25V) as the throttle opens. The Sub TPS voltage should do the opposite, going from high to low.. Failure: One or both signals are flat, erratic, or do not follow this opposing pattern.
Hidden / Shadow Codes Worth Checking
- P1700: Throttle Position Sensor Circuit Malfunction for AT. This is a transmission-related code that can be triggered by a faulty TPS signal, indicating the automatic transmission control module has detected an issue. (see via A standard OBD-II scanner capable of reading transmission control module (TCM) codes.)
Scan Tool Commands That Help
- N/A (Manual Procedure): Idle Relearn / Throttle Body Relearn — Required for electronic throttle models after disconnecting the vehicle's battery, or after cleaning or replacing the throttle body. Failure to perform this can result in stalling or an erratic idle. The procedure involves a series of key-on, engine-off, and idling periods to allow the ECU to recalibrate the throttle plate's home position.
- Subaru Select Monitor (or equivalent pro-level scanner): Live Data Monitoring: 'Actual Throttle Opening Angle' & 'Target Throttle Opening Angle' — To diagnose a faulty electronic throttle body. Comparing the ECM's target angle with the actual angle reported by the sensor can confirm if the throttle is responding correctly to commands.
- Subaru Select Monitor: Clear Memory — To fully reset adaptations in the Engine Control Module (ECM) and Transmission Control Module (TCM) after a repair. This is more thorough than a standard code clear.
Wiring & Ground Locations
- ECM Location (Early Models) — On the passenger side, underneath the carpet in the footwell, near the glove compartment.. This is the termination point for the TPS wiring. A visual inspection for water intrusion or corrosion at the ECM connectors is a valid last-step diagnostic if the sensor and wiring test good.
- TCM Location (Early Models) — Underneath the driver's side steering column, behind the brake pedal.. The TCM also uses the TPS signal. A fault here could potentially cause related transmission codes like P1700.
- TPS Connector (Cable-throttle) — Plugged directly into the throttle position sensor on the side of the throttle body.. This is the primary point for voltage and ground testing. It can be a 3-pin or 4-pin connector depending on the model year, but often only 3 wires are used.
Real Owner Repair Stories
- LegacyGT.com forum user (2005 Subaru Legacy GT) — Intermittent Check Engine Light and limp mode, especially during cold weather months. RPMs would surge in city traffic.
❌ Tried (didn't work) Initial diagnosis was unclear.
✅ What actually fixed it The owner cleaned the electrical contacts on both the accelerator pedal sensor and the throttle body sensor using electrical contact cleaner. This resolved the issue for over 1000 miles. - LegacyGT.com forum user (2005 Subaru Legacy GT Turbo) — P0123 code, scan tool reads 100% throttle position and 5V from the main throttle sensor at all times, even at idle. Engine chugs and runs poorly.
❌ Tried (didn't work) Replacing the throttle body with one from a known-good running car., Manual idle relearn procedure., Scan tool relearn procedure., Checking the throttle control motor relay.
✅ What actually fixed it The thread ended without a final confirmed fix, but the diagnostic result is critical: because a known-good throttle body did not solve the problem, the issue was confirmed to be external to the throttle body itself. The likely cause is a short-to-power in the wiring harness between the sensor and the ECU, or a failed ECU. - LegacyGT.com forum user (2005-2009 Subaru Legacy) — Check Engine Light with code P0123, rough running, and no power.
❌ Tried (didn't work) Letting the dealer look at it, who just reset the code.
✅ What actually fixed it The owner found that simply resetting the code using a Cobb Accessport would resolve the drivability issues temporarily, indicating an intermittent fault rather than a hard failure.
OEM Part Supersession History
22633AA140→22633AA210— Standard part revision/update by Subaru.
Heads up: Part 22633AA210 is for cable-actuated throttle bodies ONLY. It fits models like the 2002-2005 WRX and some 2004-2005 non-turbo Legacy/Outback models. It will NOT work on models with Electronic Throttle Control (most 2005+ turbo and non-turbo models), even if the connector looks similar.
Model Year Variations Within This Range
- 2003-2005 (primarily non-turbo): These models often use a mechanical throttle cable with a separate, replaceable TPS (Part # 22633AA210). The repair is simpler and cheaper, involving only the sensor.
- 2005-2009 (primarily turbo and later non-turbo): These models use an Electronic Throttle Body (ETB) or 'drive-by-wire' system. The TPS is integrated into the throttle body assembly and is not typically sold separately by Subaru. A P0123 code on these vehicles often requires replacing the entire throttle body assembly and performing an idle relearn procedure.
Diagnostic Flowchart
Other Known Issues on This Vehicle
Issues unrelated to this code that are worth knowing about as an owner of this generation:
- EJ25 Non-Turbo Head Gasket Failure 🔴 High — Very common, typically between 80,000 and 150,000 miles. Affects non-turbo 2.5L engines from roughly 1999-2009. The most common failure is an external oil or coolant leak, but internal leaks can occur. (Ref: Subaru extended the warranty for some earlier models but no active recall covers the full range.)
- Front Lower Control Arm Bushing Failure 🟠 Medium — Common on the 4th generation (2005-2009) models, with failures reported as early as 30,000-60,000 miles. The large rear liquid-filled bushing is the typical failure point, causing clunking noises, steering wander, and uneven tire wear.
- Turbo Oil Feed Banjo Bolt Filter Clogging (Legacy GT) 🔴 High — A critical issue for all 2005-2009 Legacy GT and other turbocharged Subaru models. A small mesh filter (Part No. 14445AA090) in the turbo's oil supply line can clog with debris, starving the turbo of oil and leading to catastrophic failure. Preventative removal of the filter is a very common recommendation.
Used vs. New Parts: Buying Guide for This Vehicle
When a used part is the smart pick: For Electronic Throttle Control (ETC) models (2005-2009), a used throttle body assembly from a reputable salvage yard is a cost-effective alternative to a new OEM unit, which can be very expensive. For older cable-throttle models, the TPS itself is inexpensive enough that buying new aftermarket is usually the best choice.
Donor-vehicle mileage cap: roughly under 100000 miles for the part to have meaningful remaining life.
What to inspect on the donor part:
- Inspect the electrical connector for any broken plastic, corrosion, or bent pins.
- Look at the throttle plate and bore; minimal carbon buildup is a sign of a healthier engine.
- Ensure the throttle plate moves smoothly by hand (with the unit off the car) and doesn't bind or stick.
- If possible, get the VIN of the donor car to verify compatibility and check its history for related issues.
OEM-only on this vehicle (don't cheap out):
- While not strictly OEM-only, the entire Electronic Throttle Body assembly is a critical component where a new Genuine Subaru part provides the highest chance of a long-term fix without compatibility issues.
Aftermarket brands forum-validated for this vehicle:
- Denso (often the OEM supplier)
- Hitachi
Brands owners have reported issues with on this vehicle:
- No specific brands are consistently cited as problematic in forums, but ultra-cheap, unbranded sensors from online marketplaces are generally a higher risk for premature failure or incorrect calibration.
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
2005 Subaru Legacy GT Wagon 5EAT
Symptoms: The Check Engine Light came on, the engine was running rough, and the car had no power.
What fixed it: The code was reset using an Accessport, which temporarily resolved the symptoms, but the owner still felt the car was unsafe, indicating the underlying issue was not fixed.
Source hint: LegacyGT.com thread titled 'Check Engine, Rough running, no power - Fourth Generation Legacy (2005 - 2009) - LegacyGT.com'
2005 Legacy GT Turbo
Symptoms: The car was throwing a P0123 code and the scan tool read 100% throttle position at idle. The engine would chug at idle but idled normally if the accelerator was pressed to the floor. The main throttle sensor voltage was stuck at 5V.
What fixed it: The issue was not resolved. The owner swapped the throttle body from a known good car, but the problem persisted, suggesting a more complex wiring or ECU problem.
Source hint: LegacyGT.com thread titled 'Throttle position problems'
Related OBD-II Codes
Frequently Asked Questions
My 2005 Legacy GT's scanner shows 100% throttle at idle. Is this a common P0123 symptom?
I cleared the P0123 code with my Accessport and the car runs fine now. Is the problem fixed?
Do I have to replace the entire throttle body for a P0123 code on my Subaru Legacy?
Could a bad ground wire cause a P0123 high voltage code?
I have this code on my 2007 Outback. Is the diagnosis the same as for the Legacy?
While fixing the P0123 on my Legacy GT, is there any other critical maintenance I should perform?
Helpful Videos
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
- What's Unique About the 2003-2009 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
- Hidden / Shadow Codes Worth Checking
- Scan Tool Commands That Help
- Wiring & Ground Locations
- Real Owner Repair Stories
- OEM Part Supersession History
- Model Year Variations Within This Range
- Other Known Issues on This Vehicle
- Used vs. New Parts: Buying Guide for This Vehicle
- Real Owner Stories
- 2005 Subaru Legacy GT Wagon 5EAT
- 2005 Legacy GT Turbo
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off