P2099 on 2015-2022 GMC Canyon 3.6L V6: Causes and Fixes for Rich Fuel Trim
On a 2015-2022 GMC Canyon with the 3.6L V6, code P2099 is most often caused by leaking fuel injectors, as highlighted in GM Technical Service Bulletin #PIP4964F. Other likely causes include exhaust leaks before the O2 sensor or a faulty downstream oxygen sensor. Diagnosis should prioritize an injector balance test before replacing any parts.
- P2099 on a V6 Canyon points to a rich fuel mixture on the passenger side of the engine.
- Before replacing any parts, check for exhaust leaks between the engine and the rear O2 sensor.
- GM has a service bulletin (PIP4964F) that strongly suggests faulty fuel injectors are a common cause for this code on this truck.
- Do not immediately assume the O2 sensor is bad; it is often correctly reporting a problem with the fuel system or exhaust.
- This code only applies to the 3.6L V6 engine, not the 4-cylinder or diesel models.
What's Unique About the 2015-2022 Gmc CANYON 🎬 Watch: Understanding the P2099 rich condition on Bank 2
For the V6-equipped GMC Canyon and its platform-mate, the Chevrolet Colorado, this code is specifically addressed by a manufacturer TSB (#PIP4964F) that points technicians directly toward checking the fuel injectors. This suggests that, unlike in many other vehicles where an O2 sensor is the first suspect, GM has identified a tendency for injector issues to cause this rich condition on this particular platform. Owners should therefore prioritize injector diagnostics over immediately replacing oxygen sensors.
Diagnostic Flowchart
Tap your situation to follow the diagnostic path that matches what you're seeing on this vehicle.
Generation note: The 2015-2022 model years all belong to the second generation of the GMC Canyon. This code is only applicable to models equipped with the 3.6L V6 engine (LFX and later LGZ), as it specifies 'Bank 2'.
Symptoms You May Notice
- Check Engine Light is on
- Decreased fuel economy
- Rough idle or hesitation during acceleration
- Black smoke from the exhaust
- Engine running rough or loss of power
- A smell of gasoline from the exhaust
- Immediately replacing the oxygen sensor without checking for exhaust leaks or fuel injector issues first. The O2 sensor is often reporting a real problem, not causing it. The TSB for this platform explicitly states not to replace the O2 sensor without first performing other diagnostic steps.
Most Likely Causes
- Leaking or Faulty Fuel Injectors 🔴 High Probability A specific GM Technical Service Bulletin (#PIP4964F) directs technicians to perform an injector balance test (or AFIT test) when P2099 is present, stating this is the most common concern.
How to confirm: Perform a fuel injector balance test using a specialized tool (like the GM AFIT - Active Fuel Injector Tester) to see if one or more injectors on Bank 2 are leaking or flowing more fuel than commanded. Another method is to pull the spark plugs on Bank 2 and inspect them; a plug that is black and sooty indicates a rich condition in that cylinder.
Typical fix: Replace the faulty fuel injector(s) on Bank 2. It is often recommended to replace all three injectors on that bank at the same time.
Est. part cost: $50-$150 per injector - Exhaust Leak 🟡 Medium Probability Gaskets and welds can fail over time due to heat cycles. TSB #PIP4964F also mentions checking for small exhaust leaks near the converter outlet or O2 sensor boss if injectors test normal.
How to confirm: Visually inspect the exhaust manifold, gaskets, and pipes on Bank 2 for cracks or black soot trails. A smoke test can also be used to pinpoint leaks. The TSB suggests applying low pressure (5-8 psi) air to the tailpipe and using a soapy water solution on gaskets and welds to look for bubbles.
Typical fix: Repair the leak by replacing the gasket or welding the cracked component. The TSB suggests filing the mating surface of the pipe when replacing a gasket to ensure a good seal.
Est. part cost: $20-$100 for gaskets, variable for welding - Faulty Downstream Oxygen (O2) Sensor 🟡 Medium Probability
How to confirm: Use a scan tool to monitor the voltage of the Bank 2, Sensor 2 O2 sensor with the engine fully warmed up. A healthy downstream sensor should show a relatively stable voltage. If it's stuck high (e.g., above 0.8V) or fluctuating rapidly like an upstream sensor, it may be faulty. A high reading is often accurately reporting a rich condition, which is why this should not be the first part replaced.
Typical fix: Replace the Bank 2 downstream (post-catalyst) oxygen sensor.
Est. part cost: $50-$120 - High Fuel Pressure ⚪ Low Probability
How to confirm: Connect a fuel pressure gauge to the fuel rail and check if the pressure is within the manufacturer's specified range. A reading that is too high indicates a problem, possibly with the fuel pressure regulator or fuel pump. For the LFX/LGZ engines, key-on engine-off low-side pressure should be 55-60 psi.
Typical fix: Replace the fuel pressure regulator or, in some cases, the entire fuel pump module.
Est. part cost: $100-$400
Rare But Worth Checking
- Faulty Mass Airflow (MAF) Sensor: A dirty or failing MAF sensor can under-report the amount of air entering the engine, causing the ECM to inject too much fuel. This usually affects both banks but can sometimes trigger a code on only one.
- Failing Catalytic Converter: While less common, a contaminated or failing catalytic converter can sometimes cause erratic readings from the downstream O2 sensor, leading to a P2099 code. This is often a result of a long-term rich condition, not the initial cause.
- Internal Engine Mechanical Issues: TSB #PIP4964F notes that if no injector or exhaust leak issues are found, a mechanical valvetrain concern like a sticking valve could be the cause, which may or may not present with a misfire.
Diagnosis Steps
- Scan for Codes: Use an OBD-II scanner to confirm P2099 and check for any other accompanying codes, such as misfire (P030x) or Bank 1 rich (P2097) codes.
- Analyze Live Data: Use a scan tool to monitor long-term and short-term fuel trims for Bank 2. Also, observe the voltage from the Bank 2, Sensor 2 (downstream) O2 sensor. It should be relatively steady. A reading stuck high (above 0.8v) confirms the rich condition the ECM is seeing.
- Follow TSB #PIP4964F: Given the manufacturer's guidance, the next step is to perform a fuel injector balance test (AFIT) to check for leaking or over-performing injectors on Bank 2. This is the most critical vehicle-specific step.
- Inspect for Exhaust Leaks: If injectors test normal, carefully inspect the exhaust system for leaks between the cylinder head and the downstream O2 sensor on Bank 2. Use a smoke machine or the low-pressure air method described in the TSB.
- Test Fuel Pressure: If injectors and exhaust are confirmed to be okay, check the fuel pressure to ensure it's within spec. Key-on, engine-off pressure should be 55-60 psi.
- Test the O2 Sensor: If all other possibilities are ruled out, test the O2 sensor's operation directly. You can swap it with the Bank 1 downstream sensor to see if the code follows the sensor, changing to P2097.
Parts You'll Likely Need
- Fuel Injector
(OEM #12669384)— This is the most likely cause according to GM's own technical service bulletin for this specific code and vehicle.
Trusted brands: ACDelco (GM Genuine), Bosch
OEM price range: $90-$150
Aftermarket price range: $50-$100 - Downstream Oxygen Sensor (Bank 2, Sensor 2)
(OEM #12673341)— The sensor itself can fail and send false rich signals to the computer, though it's less likely to be the root cause than injectors on this platform.
Trusted brands: ACDelco, Denso, Bosch
OEM price range: $80-$120
Aftermarket price range: $50-$90 - Exhaust Manifold Gasket
(OEM #12657212 (Manifold to Head))— An exhaust leak before the O2 sensor is a common cause of fuel trim codes and is the second diagnostic step recommended by the TSB if injectors are good.
Trusted brands: Fel-Pro, ACDelco
OEM price range: $30-$50
Aftermarket price range: $15-$30
Related Codes That Often Appear With This One
- P2097 — P2097 is the equivalent code for a rich condition on Bank 1. The TSB PIP4964F mentions both codes together, suggesting a common root cause related to fuel delivery that could affect either or both banks.
- P0302, P0304, P0306 — Misfire codes for the cylinders on Bank 2 (cylinders 2, 4, and 6 on the 3.6L V6) can occur if a leaking injector is fouling the spark plug or causing poor combustion.
- P0175 — This code means "System Too Rich (Bank 2)" and is detected by the upstream O2 sensor. It often appears alongside P2099, indicating the rich condition is present both before and after the catalytic converter.
Technical Service Bulletins (TSBs) & Recalls
- PIP4964F: Advises technicians that the most common cause for P2097 or P2099 is a faulty fuel injector. It instructs them to perform a fuel injector balance test (AFIT) before proceeding with other diagnostics like checking for exhaust leaks or rare mechanical valvetrain problems.
Platform-Specific Known Issues
- GM Technical Service Bulletin #PIP4964F explicitly links DTC P2099 (and P2097) on these vehicles to potential fuel injector problems, advising a balance test before further diagnosis.
- The same TSB, PIP4964F, provides a secondary diagnostic path if injectors are good: check for small exhaust leaks at the converter outlet or O2 sensor boss using a low-pressure air test, as this can cause a false reading.
Mechanic-Grade Diagnostic Values
- Low-Side Fuel Pressure (Key On, Engine Off) — expected: 55-60 psi. Failure: Pressure significantly below or above this range indicates a problem with the in-tank fuel pump or pressure regulator.
- Engine Compression (HFV6 non-turbo) — expected: Average 150-185 psi. Failure: Any cylinder reading less than 140 psi, or significant variation between cylinders, points to mechanical engine issues.
- O2 Sensor Heater Circuit Resistance — expected: 3-10 Ohms (a new ACDelco sensor measured 6 Ohms). Failure: A very high resistance reading (e.g., over 200 Ohms) indicates a failed heater circuit within the O2 sensor.
- Downstream O2 Sensor Voltage (at idle, warm engine) — expected: Relatively stable voltage between 0.1V and 0.9V. Failure: A voltage signal stuck high (above 0.8V) confirms a rich condition is being detected.
Scan Tool Commands That Help
- GDS2 (GM Global Diagnostic System): Vehicle DTC Information — To perform a comprehensive check of all vehicle modules for any stored Diagnostic Trouble Codes, which can provide context to the P2099 code.
- GDS2 (GM Global Diagnostic System): Module Diagnostics -> Engine Control Module -> Output Controls — To access bidirectional controls. While specific injector tests are best done with an AFIT tool, GDS2 allows for monitoring data PIDs like fuel trims and O2 sensor voltages in real-time while commanding other functions to diagnose the system.
- GDS2 (GM Global Diagnostic System): Clear All DTCs — After a repair has been completed, this function is used to clear the P2099 code and other related codes from all modules to verify the fix.
Wiring & Ground Locations
- SP-106 (or G106) — On the passenger side of the engine bay, typically behind the engine airbox.. This is a primary under-hood ground point on the passenger side (Bank 2). A poor connection here can cause erratic behavior for multiple components controlled by the ECM, potentially affecting sensor readings and actuator commands on Bank 2.
- Interior Fuse Box — Behind a small door in the passenger side kick panel area.. This fuse box contains fuses for various body and control modules. While the primary engine fuses are under the hood, a fault related to a module powered from this box could indirectly affect engine management.
- Underhood Fuse Box — On the driver's side of the engine bay, near the battery.. This is the main fuse block containing critical fuses and relays for the Engine Control Module (ECM), fuel pump, and O2 sensor heater circuits (e.g., Fuse F47).
- OBD-II Port — Under the driver's side dashboard, to the left of the steering column, near the hood release.. This is the connection point for the OBD-II scanner required for all electronic diagnosis, including reading codes, viewing live data, and using advanced scan tools like GDS2.
OEM Part Supersession History
12611545, 12632255, 12638530→12669384— Standard part evolution and consolidation by the manufacturer.
Model Year Variations Within This Range
- 2015-2016: These model years used the 3.6L LFX V6 engine. While diagnosis for P2099 is very similar, some parts, like the high-pressure fuel pump, may have different part numbers than the later LGZ engine.
- 2017-2022: Starting in 2017, the GMC Canyon was equipped with the updated 3.6L LGZ V6 engine. This engine was a significant redesign of the LFX, featuring changes to the block, heads, and fuel management system (including Active Fuel Management). While the root causes of P2099 remain consistent, technicians should ensure they are sourcing parts specifically for the LGZ engine.
Helpful Videos
Used OEM Parts in Stock
New Aftermarket Parts Available
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.
- Gmc CANYON:
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2015-2022 Gmc CANYON
- Diagnostic Flowchart
- 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
- Technical Service Bulletins (TSBs) & Recalls
- Platform-Specific Known Issues
- Mechanic-Grade Diagnostic Values
- Scan Tool Commands That Help
- Wiring & Ground Locations
- OEM Part Supersession History
- Model Year Variations Within This Range
- 🎟️ Get 5% Off