Accellerator intermitantly stops working

2005 Subaru Legacy, 50,000 miles. In July 2009 the accellerator intermitantly stopped working. We ‘push the pedal to the metal’ but no accelleration. Engine still runs but at idle speed with ‘Check Engine’ and ‘Cruise’ light flashing. We pull to the side of road, put in park (engine revs to about 3,000 rpm) turn off/on engine, then things run ok (engine/cruise light still flashing.) Doesnt seem to matter if cold or hot. We have had it happen 3x w/in 60 minutes or as long as a month w/o a problem.

Local independent Mechanic and Subaru Dealer have each checked. Engine trouble code: p2138. Have had the throttle chamber assembly and accellerator pedal assembly replaced. Good for 2 months then started again. What’s up?

This almost HAS to be the throttle position sensor.

The CEL is probably because when you stomp the pedal the manifold absolute pressure spikes (the vacuum in the manifold drops) and the mass airflow sensor detects a sudden rush of air, yet the TPS shows the throttle still at the same spot. These signals will be read by the ECU as way outside of being within the normal ranges when compared to one another and the ECU will trip the light for a serious problem. The ECU compares these signals against one another to detect problems.

Now, it’s also possible that the ECU itself is bad, but I’d be inclined to suspect the TPS first.

As mtnbike says, that code is for an “accelerator position sensor” - though I confess to not knowing whether or not that is the same thing as the TPS. Either way it is the same principle.

Has anyone actually checked the wiring/circuit for that sensor or checked the sensor itself for proper voltage/resistance?

First, thanks for the quick reply.
So I have the nomenclature right, CEL: Check Engine Light. ECU: Engine Computer Unit

Here is verbatum from repair shopreports:

Independent shop: "Engine trouble code was P2138. Throttle pedal position sensor “D”/“E” voltage correlation. Check and replace Throttle Chamber Assembly. Clear engine trouble code and road test.

Subaru Diagnosis: “stored fault code p2138. accelerator position sensor circuit range performance. checked input and output readings. currently fine. cleared code and road tested 10 miles. fault did not occur. request overnight road test. per edwin accerator pedal sensor failed replaced accellerator pedal assembly as requested.”


  1. Are the TPS and ECU both chips? If so, what would (should) the chip report to confirm it is the problem?
  2. In addition to cigroller’s thought, a friend also suggested some form of short or ‘voltage resistance’ might be the culpret. I am not sure this was checked. Do reports suggest this was done?
  3. Please offer your opinion on what I should specifically ask, and what would confirm the repair is corrected?

Thanks again


  1. TPS is a sensor, typically a variable resistor, and the ECU is the computer that controls the engine. It is made up of many chips, resistors, capacitors, transistors, etc.

  2. The code is for a circuit problem between the TPS and ECU. MAny times, this is a failure of the TPS, but it could be the wiring. The mechanics at the dealer have not been able to get a bad reading from the TPS, so they want to do more testing until they can get it to act up for them. It’s the only way they can find the problem.

  3. Let them find the problem. They know why the computer is flipping out, they just need to find the specific cause. Confirmation will only come as the problem doesn’t return.

Thank you this is all very helpful. It may be after the holidays before I get back to you but I promise to let you know what happens. Happy Holidays!

Thought I’d post back.

Yeah, the accelerator position sensor and the throttle position sensor are the same thing. Just defferent nomenclatures.

The ECU is the Engine Control Unit, sometimes called other names, but it’s the computer that takes all the different sensor signals and from them determines the correct fuel rationing and spark advance and distribution.

As others have stated, let them do the additional troubleshooting.

Some cars have both a sensor on the throttle and one on the accelerator pedal. I think the one on the pedal is OK.

Some cars are “throttle by wire”, the accelerator pedal just sends a signal to the ECU and the ECU uses a servo motor to do the actual throttle opening.

Good point. I forgot about the “drive by wire” systems. Perhaps one of the Subie guys here can tell us whether this vehicle has this system.

"Some cars have both a sensor on the throttle and one on the accelerator pedal."
Actually, all of the throttle-by-wire systems that I know of have two position sensors on the accelerator pedal (and one on the throttle). The reason is that the computer compares the signals from the two pedal sensors, and if they ever disagree the engine is put into a low power mode. This prevents a faulty sensor from causing unintended acceleration.

Your 2005 Subaru Legacy has what is commonly called a “drive by wire throttle”. There is NO physical connection (by cable or rod) between the gas pedal and the engine. The connection is by electrical wires which carry the signal to the engine computer. The engine computer, then, controls the engine throttle plate movement through electrical control of the throttle plate motor. A throttle position sensor (tps) senses the throttle plate movement and tells the engine computer, “Yeah, the throttle plate moves this much.” [This is also called an “electronic throttle”.]
The DTC code P1238 is defined as “Throttle/pedal position sensor/switch “D”/“E” voltage rationality [isn’t rational]”. There is a voltage signal from each section (main, and sub). They should be very close to the same value. When they are, they are “rational”. When the two signals are too different, the engine computer puts the engine into a fail-safe condition (idle).
The problem is, most likely, in the electrical wiring (and connectors) in the throttle/pedal circuitry to the engine computer. An electrician would do a wire bundle wriggle test, while observing an electrical multimeter, and/or engine rpm response.