OBD-II trouble code
P2157: Fuel Injector Group "D" Supply Voltage Circuit High
Before looking for a fault on the fourth branch, confirm the engine has one. A module carries the monitors its calibration enables, and an unused input sits at its internal pull-up voltage — which reads as high. On an engine with three branches and a four-branch calibration, this code is a software mismatch, not a wiring fault.
Quick facts
- System
- Powertrain
- Category
- Fuel Injectors
- Severity
- Medium severity
- Drivable
- Usually safe to drive short-term
- Repair cost range
- $0 – $1,500
- DIY difficulty
- Intermediate DIY
Browse every code in P2100–P2199, or start from the full code library.
What does P2157 mean?
P2157 is set when the module decides the group D injector supply is reading higher than it should. On an engine that genuinely uses four branches, the physical causes are the familiar ones — a charging system pushing the whole vehicle high, or current arriving on a branch from somewhere it should not. But there is a possibility here that does not exist for the lower letters, and it is worth eliminating before a single connector is opened.
Group D is the last group in the generic set, and engines that use all four are the exception rather than the rule. Modules, meanwhile, are not built one per engine. A manufacturer designs one piece of hardware and one software family to cover a range of vehicles, and which monitors actually run is decided by the calibration loaded into it. When a module intended for a four-branch application is fitted, or flashed, to a three-branch engine, the group D monitor can end up enabled with nothing connected to it. An input with no load sits wherever the module's internal pull-up puts it, which is at or near reference voltage — and reporting a supply line as high is precisely what the monitor is designed to do when it sees that.
The circumstances that produce this are not exotic. A replacement module with a near-miss part number. A module programmed with a calibration from a sibling engine. A used module from a breaker, fitted without being reprogrammed for the vehicle. A tuning file that enabled options the hardware does not have. An engine swap where the loom and the module came from different variants. An injector set removed for a conversion, leaving a branch unterminated. In every one of those cases the wiring is perfect and the code is honest — the module is reporting exactly what it sees on a pin that nothing is driving.
So the first question is simply whether this engine has a fourth injector supply branch at all. The wiring diagram for the specific variant answers it, and so does counting injectors and tracing supplies at the rail. If there is no fourth branch, no amount of harness work will change the reading, and the fix is a calibration or a correct part number rather than a repair.
If the engine does have a group D, the diagnosis moves onto ordinary ground. Check the charging system, because a vehicle running above its normal voltage range reports high everywhere at once and will have left supply complaints in other modules too. Then establish whether the branch is genuinely at a higher voltage than it should be or is simply energised when it ought to be off, which is a different fault with a different cure.
One detail that is easy to miss on this particular code: the group D branch is often the one feeding a secondary system, and secondary systems sometimes have their own control unit. A supply the engine module monitors but does not switch can be left energised by the other unit — a changeover relay that has stuck, a gas system controller that has not released the rail, a module that has failed to go to sleep. If the vehicle carries a second fuel system, read its faults before assuming the engine module is the whole story.
Common causes
- Control module calibration that enables a group D monitor the engine does not have
- Replacement or used module fitted with a near-miss part number or the wrong software
- Module programmed with a calibration from a sibling engine variant
- Engine or loom swap combining hardware from different variants
- Injector rail removed or disconnected during a conversion, leaving the branch unterminated
- Charging system overvoltage raising every circuit in the vehicle
- Failed voltage regulator inside the alternator
- Secondary fuel system controller leaving the branch energised when it should be released
- Stuck changeover or supply relay holding the fourth branch live
- Backfeed from an adjacent circuit through a damaged or contaminated connector
Symptoms
- Code present with no driveability complaint whatsoever
- Fault that appeared immediately after a control module was replaced or reprogrammed
- Fault that appeared after an engine swap, conversion or injector system change
- Code that returns as soon as it is cleared, with no change in how the car runs
- Supply voltage codes logged in several modules at once where the cause is charging related
- Battery going flat on a car that sits, where a branch is being left energised
- Secondary fuel system failing to release or change over correctly
- Dash lights unusually bright or a warm battery if system voltage is high
- Fuel smell or a hot-start difficulty where a rail stays powered after shutdown
- No related misfire or fuel trim abnormality anywhere in the data
Diagnostic steps
- 1.Establish whether this engine actually has a fourth injector supply branch. Check the wiring diagram for the exact variant and count what is physically on the engine.
- 2.If there is no group D, stop looking for a wiring fault. An enabled monitor with nothing connected sits at the module's internal pull-up voltage and reports high, and the fix is calibration or part number.
- 3.Check the module's part number and software level against what the vehicle should have, especially if it has ever been replaced, flashed, or taken from another car.
- 4.Ask what has been changed on the vehicle. Engine swaps, conversions and removed injector rails all leave a monitored input with nothing on the end of it.
- 5.Measure charging system voltage before touching the harness. A vehicle running high reports high everywhere and will have left supply codes in other modules.
- 6.If the engine does have a group D, determine whether the branch is over voltage or simply energised when it should be off, because those are separate faults.
- 7.Read any secondary fuel system controller's own fault memory. A branch the engine module monitors may be switched by a different unit entirely.
- 8.Check for a stuck changeover or supply relay holding the branch live, particularly on dual-fuel installations.
- 9.Inspect the connector shells the branch shares with its neighbours for contamination or a pushed-out pin that could backfeed the line.
- 10.After any calibration or module change, clear the code and confirm it does not return over a full drive cycle before treating the job as finished.
Repair cost
$0 – $1,500
The cheapest outcome is a reprogramming job: $100 to $350 at a shop with the manufacturer's software, and nothing at all if the vehicle is still covered and the wrong calibration was loaded during earlier work. Diagnosis is $120 to $280 and is mostly documentation rather than probing. A charging system fault means an alternator at $400 to $900 or a regulator at $150 to $350. A stuck relay is $15 to $60 fitted. Connector or backfeed repair runs $110 to $350. A module that genuinely needs replacing and programming is $600 to $1,500, and that is the outcome most often reached by mistake on this code, which is why confirming whether the branch exists comes first.
Estimate your repair
Run the numbers for your vehicle
Open the Repair Cost Estimator with control module replacement and programming preselected. Adjust labor rate and vehicle category to fit your situation.
DIY vs shop
This is an intermediate DIY job. It usually involves diagnostic steps, specialty parts, and some careful work in tight spaces. If you have the tools and a service manual or trustworthy video for your specific vehicle, it is achievable in a weekend. Otherwise, a competent independent shop will be faster.