OBD-II trouble code
P0948: Hydraulic Pump Relay Circuit High
High voltage on the pump relay circuit — a phrase that means two opposite repairs depending on which side of the coil the module switches. Establish the drive topology before touching anything.
Quick facts
- System
- Powertrain
- Category
- Transmission / Pressure Control
- Severity
- High severity
- Drivable
- Usually safe to drive short-term
- Repair cost range
- $90 – $1,600
- DIY difficulty
- Advanced DIY
Browse every code in P0900–P0999, or start from the full code library.
What does P0948 mean?
P0948 is the code in this family most likely to send someone the wrong way, and the reason is that 'circuit high' is not a fault description. It is a measurement. What that measurement means depends entirely on how the manufacturer chose to wire the relay coil, and the two common choices point at repairs that have nothing in common.
A relay coil has two ends. One of them must be switched by the module and the other is tied permanently to either battery positive or ground. In a low-side drive — by far the more common arrangement in automotive design — the coil is permanently fed with battery voltage and the module completes the circuit by pulling its end down to ground. In a high-side drive, the coil is permanently grounded and the module supplies power to it.
Now apply that to a voltage reading. On a low-side circuit, the module's output pin sits near battery voltage whenever the relay is off, because it is looking through the coil at the supply. It should fall close to zero when the relay is commanded on. So 'circuit high' on a low-side driver means the pin stayed up when it was commanded down, and the usual causes are an open in the coil or its wiring, a failed driver inside the module, or a relay that simply is not plugged in — the circuit cannot be pulled down because there is nothing there to pull. On a high-side circuit the logic inverts: the pin should be near zero at rest, so a high reading with the relay commanded off means voltage is arriving from somewhere it should not, which is a short to power — a chafed wire touching a live conductor, water bridging pins in a soaked connector, or an accessory installation backfeeding the circuit.
One of those is a broken connection. The other is an unwanted connection. Fitting a relay to a short-to-power fault fixes nothing, and chasing a short on an open circuit wastes an afternoon. So the first job on this code is not a measurement at all — it is a wiring diagram, or failing that, a simple bench check: unplug the relay and measure both coil socket terminals with the ignition on. If one of them has battery voltage sitting on it permanently, the circuit is low-side driven and the module switches the other. If both are near zero and one comes alive only on command, it is high-side.
The second thing worth knowing is that a permanent short to power on a low-side circuit does not just set a code — it holds the relay energised regardless of what the module wants, so the pump runs continuously and the module loses control of it. That behaviour overlaps with the welded-contact fault covered under P0946, and the two are told apart electrically: pulling the relay stops the pump in both cases, but only the short-to-power version puts battery voltage on the control terminal of the empty socket.
Finally, on the newest designs there may be no relay at all. Where a solid-state driver inside the transmission control module does the switching, an internal fault in that driver produces this code with no external wiring problem to find, and the repair is a module rather than a part. That is worth establishing early, because it is the difference between a fifteen-dollar fix and a four-figure one.
Common causes
- Open relay coil, so a low-side driven circuit cannot be pulled down
- Relay removed, unseated or missing from its socket
- Open in the coil supply or control wire on a low-side circuit
- Short to battery voltage on the control wire of a high-side circuit
- Water in the relay box bridging a live terminal to the control terminal
- Aftermarket wiring spliced into or backfeeding the pump circuit
- Failed driver output inside the transmission control module
- Corroded socket terminal that has lost contact with the relay pin
- Damaged pin in the module connector, backed out or spread
- Chafed harness section shorting to an adjacent power feed
Symptoms
- Hydraulic pump not running at all when it should
- Hydraulic pump running continuously and ignoring commands, on the short-to-power version
- Transmission unable to build pressure or select a gear
- Check engine light with several transmission pressure codes stored together
- Fault appearing immediately after work in the fuse and relay box
- Fault appearing after an accessory, alarm or audio installation
- Complaint following heavy rain, a car wash or a flooded road
- Battery drain if the pump is being held on by a short to power
- Relay socket showing corrosion, green deposits or water staining
- No pump activity at all despite a relay that tests good on the bench
Diagnostic steps
- 1.Establish the drive topology first — everything else depends on it. Unplug the relay, switch the ignition on, and measure both coil socket terminals.
- 2.A terminal sitting permanently at battery voltage with the relay out means a low-side driven coil; the module switches the other terminal to ground.
- 3.Both terminals near zero at rest, with one rising only when commanded, means a high-side driven coil and a high reading is a short to power.
- 4.On a low-side circuit, measure the relay coil resistance — an open coil is the most common single cause and takes seconds to confirm.
- 5.On a low-side circuit, command the relay on and watch the control terminal fall towards ground; if it stays high the driver or the wiring is open.
- 6.On a high-side circuit, disconnect the module and check whether voltage is still present on the control wire, which proves a short to power.
- 7.Inspect the relay box for water ingress, corrosion and green deposits before condemning any component.
- 8.Check whether the relay is actually seated, and whether it is the correct part number, particularly after recent work.
- 9.Trace any aftermarket wiring spliced near the transmission or engine bay fuse box.
- 10.If the vehicle uses a solid-state driver in the control module rather than a physical relay, confirm that before quoting, because the repair is a module with programming.
Repair cost
$90 – $1,600
Diagnosis is $90 to $220 and is worth paying for on this code specifically, because the same reading points at opposite repairs. A relay is $12 to $60 fitted. Repairing an open or shorted control wire is $150 to $500 depending on where the damage is. Cleaning or replacing a water-damaged relay socket or fuse box is $200 to $700. If the fault is a failed solid-state driver inside the transmission control module, replacement and programming runs $900 to $1,600 or more. Where an accessory installation caused the short, correcting that wiring is usually $120 to $350.
Estimate your repair
Run the numbers for your vehicle
Open the Repair Cost Estimator with hydraulic pump relay replacement preselected. Adjust labor rate and vehicle category to fit your situation.
DIY vs shop
This is an advanced DIY job. It typically requires specialty tools, scan-tool access, lifting equipment, or careful sequencing to avoid causing new failures. Plan for extended downtime and have a backup vehicle. Most owners are better served by a shop that has done this repair before.