P0040Powertrain · O2 sensorsGeneric (SAE) code

P0040: O2 Sensor Signals Swapped Bank 1 Sensor 1/Bank 2 Sensor 1

The pre-cat oxygen sensors of bank 1 and bank 2 appear to be wired the wrong way around — bank 1 reacts when bank 2 should and vice versa. Typically after recent service.

Typical labor cost
$40–$125 est.
18 min–1 h at an assumed $125/hr · parts extra · use your rate
Most common fix
Sensors swapped after recent replacement
DIY difficulty: Easy · DIY-friendly
01 —What it means

What P0040 means

P0040 is a generic OBD-II powertrain code in the O2 sensors group. Bank 2 is the side of a V or flat engine opposite cylinder 1.

P
Powertrain
0
Generic (SAE)
0
Subsystem group
40
Specific fault
How to read P0040. We group it under O2 sensors.
Check engine light
Usually on
Emissions-related
Yes — can fail inspection
Limp mode possible
Not typical
Drive cycle to clear
Required
Code data: OBDex (CC0)

Get it fixed

Post this code once and get quotes from local mechanics. Free to post.

Your car Optional

Makes the repair and parts links below specific to your car. Kept in this browser only.

Get quotes on findmechanic.ai (opens in a new tab)
02 —Symptoms

Symptoms

What drivers typically notice
  • Check engine light on
  • Increased fuel consumption
  • Possible rough idle or hesitation
  • Failed emissions test
Code data: OBDex (CC0)
03 —Causes

Common causes

Ranked from most to least likely
  1. 01Sensors swapped after recent replacementMost likely
  2. 02Wiring harness routed across banksPossible
Code data: OBDex (CC0)
04 —Severity

Can I drive with P0040?

Moderate

Usually yes, for a short time.

The car will often drive normally, but get it diagnosed soon. Left alone it can raise fuel use and emissions and will fail an OBD inspection. If you notice rough running, warning lights flashing, overheating or a burning smell, stop driving.

Why we rate it moderate

  • Turns on the check engine light
  • Emissions-related: will usually fail an OBD inspection
  • Needs a drive cycle to confirm a repair

Severity is our rule-based rating from the code’s flags in OBDex and the system it affects, not an inspection of your car. If the check engine light is flashing, or you notice overheating, low oil pressure, or brake or steering problems, stop driving and get help.

Code data: OBDex (CC0)
05 —Diagnosis

How to diagnose P0040

General procedure — follow the service manual for your vehicle
  1. 1

    Confirm the code and save freeze-frame data

    Read the codes with an OBD-II scan tool and note every code, not just P0040. Save the freeze-frame data (speed, load, temperature when the fault set) before clearing anything; it tells you when the fault happens.

  2. 2

    Check for related codes first

    Look for P0041. Related codes often share a cause; a circuit or sensor code usually needs fixing before a performance code like this one.

  3. 3

    Check live data

    Watch the related sensor and actuator readings in live data (Oxygen sensor (Bank 1, sensor 1), Oxygen sensor (Bank 2, sensor 1), Sensor wiring) and compare them with expected values in the service information for your vehicle.

  4. 4

    Test the likely causes in order

    Start with the most likely cause and work down: Sensors swapped after recent replacement; wiring harness routed across banks. Test before replacing parts.

  5. 5

    Check for recalls and service bulletins

    Look up recalls for your exact vehicle with its VIN, and ask a dealer about technical service bulletins (TSBs). Manufacturers sometimes issue software updates or extended warranties for known faults.

  6. 6

    Clear the code and verify the repair

    After the repair, clear the code and complete a full drive cycle (cold start, idle, steady highway cruise, deceleration). The code is fixed when the related readiness monitor completes without it returning.

Code data: OBDex (CC0)
06 —Cost

P0040 repair cost estimate

Labor only — set your local shop rate
Labor estimate for P0040
$40–$125
18 min–1 h of labor × $125/hr (assumed rate) · parts extra

Estimate, not a quote. Labor times are typical ranges for this code from OBDex, and $125/hr is an assumed rate. Shop rates and labor times vary by vehicle and region. Diagnosis time may be billed separately.

DIY difficulty
Easy
Good DIY job?
Yes, with a scan tool

Basic hand tools; a common first DIY job.

Code data: OBDex (CC0)
07 —Components

Parts and systems involved

  • Oxygen sensor (Bank 1, sensor 1)
  • Oxygen sensor (Bank 2, sensor 1)
  • Sensor wiring
Code data: OBDex (CC0)
09 —FAQ

P0040 FAQ

What does P0040 mean?

P0040 means “O2 Sensor Signals Swapped Bank 1 Sensor 1/Bank 2 Sensor 1”. The pre-cat oxygen sensors of bank 1 and bank 2 appear to be wired the wrong way around — bank 1 reacts when bank 2 should and vice versa. Typically after recent service.

Is P0040 serious? Can I keep driving?

We rate P0040 as moderate severity. Usually yes, for a short time. The car will often drive normally, but get it diagnosed soon. Left alone it can raise fuel use and emissions and will fail an OBD inspection. If you notice rough running, warning lights flashing, overheating or a burning smell, stop driving.

What causes P0040?

The most common causes, from most to least likely: Sensors swapped after recent replacement; Wiring harness routed across banks. Test before replacing parts, because several causes can set the same code.

How much does it cost to fix P0040?

Typical labor is about $40–$125 at an assumed $125/hour shop rate, plus parts. That is an estimate, not a quote: labor times and rates vary by vehicle and region, and diagnosis may be billed separately.

Can I fix P0040 myself?

DIY difficulty is easy. Many owners can handle it with a scan tool, a multimeter and basic hand tools. Always confirm the cause before buying parts.

Will P0040 clear itself?

Once the fault is fixed, the check engine light usually goes off by itself after the system passes its self-test over several drive cycles. Clearing the code with a scan tool resets readiness monitors, so an inspection station may turn you away until a full drive cycle is completed.

Code data: OBDex (CC0)