P0391

Camshaft Position Sensor B Circuit Range/Performance (Bank 2)

P0391 is a generic OBD-II powertrain diagnostic trouble code: Camshaft Position Sensor B Circuit Range/Performance (Bank 2). It is logged by the engine control unit when the ckp/cmp monitor detects that a specific fault threshold has been exceeded — typically resulting in the malfunction-indicator lamp (MIL / check-engine light) being illuminated.

Code
P0391
Group
Powertrain
System
CKP/CMP
Severity
Warning (MIL on, possible limp mode)
Need P0391 disabled?
RaceTune permanently disables any OBD-II trouble code on supported ECUs — for motorsport, off-road, and export use.

What P0391 means

P0391 indicates the PCM has detected a range or performance fault on the Camshaft Position Sensor B circuit, Bank 2. Unlike P0390, which flags a complete or persistent signal absence, P0391 is a rationality fault — the sensor is producing a signal, but its pattern, frequency, or phase relationship with the crankshaft position signal does not fall within expected parameters. The PCM compares CKP and CMP signals continuously; if the cam's timing window appears too early, too late, or variable beyond the allowed range, a performance code is stored.

Common triggers include a worn timing chain or belt that allows the cam to walk relative to the crank, a malfunctioning VVT actuator stuck at a non-commanded position, a partially-blocked oil control valve (OCV) not responding fully to PCM commands, or a reluctor ring that has slipped on the camshaft. Electrical causes such as an intermittent sensor or partially chafed signal wire can also generate out-of-range waveform timing. The diagnosis should include both mechanical inspection (timing chain stretch, VVT actuator function) and electrical verification, as either domain can set this code.

Common causes

Most-frequently reported root causes when P0391 is logged.

  • 1
    Stretched or worn timing chain or belt causing cam-to-crank phase drift beyond tolerance
  • 2
    VVT actuator (cam phaser) stuck or slow to respond on Bank 2 exhaust side
  • 3
    Blocked or stuck oil control valve (OCV) restricting oil pressure to the cam phaser
  • 4
    Camshaft reluctor ring slipped on the shaft, altering tooth-to-PCM reference timing
  • 5
    Intermittent CMP Sensor B signal causing erratic frequency readings (partially chafed wire)
  • 6
    Low engine oil level or poor oil pressure reducing VVT actuator authority
  • 7
    PCM software miscalibration or corrupted cam-crank correlation table (rare)

Symptoms drivers notice

MIL on with P0391 stored, often alongside VVT-related codes
Rough idle and engine shake, particularly noticeable at warm idle
Reduced power and throttle response as VVT is disabled or held at a fixed position
Rattle from the timing chain area (if chain stretch is the root cause)
Slightly elevated fuel consumption due to suboptimal cam timing
Occasional hard start when cam-crank correlation is severely out of range

How to diagnose P0391

A typical diagnostic flow when this code is present.

  1. 1
    Record all DTCs — pay special attention to companion VVT codes (P0010–P0015 range) that narrow the fault to actuator vs. sensor vs. mechanical
  2. 2
    Check engine oil level and condition; low or degraded oil reduces cam phaser response and can shift cam timing beyond the PCM's tolerance window
  3. 3
    Use live scan data to observe the reported cam timing angle for Bank 2 exhaust versus PCM target — large deviation indicates actuator or chain issue rather than sensor wiring
  4. 4
    Inspect and test the Bank 2 exhaust oil control valve (OCV): command it open and closed with a scan tool and verify oil pressure response
  5. 5
    Perform a timing chain wear check per manufacturer procedure (timing marks, stretch gauge, or chain slack measurement)
  6. 6
    Use an oscilloscope to verify CMP Sensor B waveform quality; intermittent glitches indicate electrical rather than mechanical timing fault
  7. 7
    Inspect and clean the CMP sensor and reluctor ring for debris, metal shavings, or ring slippage on the camshaft

Related powertrain codes

Frequently asked questions

How is P0391 different from P0390?

P0390 means the PCM receives no valid signal at all from CMP Sensor B Bank 2. P0391 means the signal exists but the cam's timing position is outside the expected range relative to the crankshaft — a rationality fault that often points to mechanical timing issues or VVT system problems rather than a dead sensor.

Can a low oil level really set P0391?

Yes. VVT cam phasers are hydraulically actuated. Insufficient oil volume or pressure prevents the phaser from reaching its commanded position, causing the PCM to see a timing error. Always check and correct oil level before replacing expensive components.

Will P0391 cause timing chain damage if ignored?

If the root cause is an already-stretched timing chain, continuing to drive accelerates wear and increases the risk of chain failure, which can cause severe engine damage. If rattling is heard from the chain area alongside P0391, stop driving and inspect immediately.

Can a PCM update fix P0391?

In some cases, yes. Manufacturers occasionally release updated cam-crank correlation tables that widen the acceptance window for normal chain and actuator tolerance. Check for applicable TSBs for your vehicle before replacing hardware.

Disabling P0391 in software

RaceTune can permanently disable P0391 — and any other OBD-II diagnostic trouble code — on every ECU family we support. The monitor is disabled inside the ECU itself, so the fault stops being logged: the warning light stays off and the engine never enters limp mode for this code. The change is tied to your exact software version.

Permanent
The monitor is disabled in the ECU itself — not just cleared. It cannot return.
Tailored to your file
Each patch is matched to your specific software version — never a one-size-fits-all file.
Reversible
The original file is always preserved. Reflash the stock to return the ECU to factory state.

Software modifications affect emissions compliance and are not road-legal in many jurisdictions. RaceTune service files are intended for motorsport, off-road, and export use.

Got P0391 in your scan?

Upload your ECU file — we'll identify the exact software version and confirm whether a disable is available for your car.

Upload your file