How to Fix P1091

🚨 Diagnostic Profile

Vehicle Make: BMW

Technical Description: Pre-Catalyst Fuel Trim Too Rich Bank 1

This fault indicates that the engine control module (DME/DDE) has detected a fuel mixture that is running richer than the commanded target on the pre-catalyst (upstream) oxygen sensor for Bank 1. This typically points to excess fuel delivery, unmetered air restriction, or a sensor signal issue causing the ECU to over-compensate with fuel trims.

🚨 Repair Difficulty Tier

Classification: Intermediate

This repair requires a capable OBD-II/BMW-specific scan tool to read live fuel trim data, oxygen sensor voltage, and freeze frame data. A basic understanding of fuel delivery systems, intake components, and electrical testing with a multimeter is necessary. While not requiring dealer-level module programming in most cases, proper diagnostic sequencing is critical to avoid unnecessary parts replacement.

🛠️ Resolution Steps

Step 1: Preliminary Inspection

  • Visually inspect the air intake boot and charge pipes (if turbocharged) for cracks, loose clamps, or oil contamination that could cause unmetered air entering after the MAF sensor.
  • Check the Bank 1 pre-catalyst oxygen sensor (upstream O2/wideband sensor) wiring harness and connector for corrosion, chafing, or looseness.
  • Inspect fuel injectors on Bank 1 for signs of leakage, dripping, or carbon buildup around the injector tips.
  • Verify the engine oil level and condition — overfilled oil can cause rich conditions due to vapor re-ingestion through the PCV system.
  • Check the PCV (Positive Crankcase Ventilation) valve/diaphragm for stuck-open conditions causing oil vapor enrichment.

Step 2: Diagnostic Verification

  • Connect a BMW-capable scan tool (such as ISTA, Autel, or Foxwell) and monitor live Short Term Fuel Trim (STFT) and Long Term Fuel Trim (LTFT) data for Bank 1 while the engine idles and during light acceleration.
  • Observe the pre-catalyst O2 sensor voltage switching pattern — a sensor stuck high (above 800mV) suggests rich bias, either from an actual rich condition or a failing sensor.
  • Use a multimeter to check sensor heater circuit resistance and confirm the O2 sensor signal wire voltage matches scan tool live data (cross-verify for sensor accuracy).
  • Perform a fuel pressure test to confirm the fuel pressure regulator is not allowing excess fuel pressure, which would push extra fuel through the injectors.
  • Check MAF sensor live data against expected g/s airflow values at idle and cruise to rule out underreporting air mass (which causes ECU to add more fuel than needed).

Step 3: Resolution & Reset Process

  • If the pre-catalyst O2 sensor is confirmed faulty (slow response, stuck voltage, or heater circuit failure), replace the Bank 1 upstream oxygen sensor with an OE-spec part.
  • If fuel injectors are leaking or flowing excessively, replace the affected injector(s) as a set for Bank 1 to maintain balanced combustion.
  • Replace any cracked intake boots, vacuum lines, or address PCV valve issues found during inspection.
  • Clear the DTC and adaptation values using the scan tool, then reset fuel trims to allow the ECU to relearn baseline values.
  • Perform a test drive cycle (idle, cruise, and load conditions) while monitoring live fuel trims to confirm trims stabilize within normal range (typically ±10%).
  • Conduct a drive cycle or forced readiness monitor test to confirm the fault does not return and catalyst monitors complete successfully.

📦 Parts, Labor, and Budget Estimates

Required Components/Software:

  • Bank 1 Pre-Catalyst (Upstream) Oxygen Sensor
  • Fuel Injector(s) – Bank 1 (if applicable)
  • Intake Boot/Charge Pipe (if cracked)
  • PCV Valve/Diaphragm Kit (if faulty)
  • BMW-specific diagnostic scan tool (ISTA or equivalent)

Average Component Price:

  • Oxygen Sensor: $120 – $280 (OE/OEM)
  • Fuel Injector (each): $90 – $220
  • Intake Boot/Charge Pipe: $60 – $150
  • PCV Valve Kit: $80 – $180

Estimated Labor Hours:

1.0 – 2.5 hours for diagnosis and sensor replacement. If fuel injector replacement or intake system repairs are required, labor may extend to 2.5 – 4.5 hours depending on engine accessibility and whether intake manifold removal is necessary.