Quick answer
Code P0391 is “Camshaft Position Sensor ‘B’ Circuit Range/Performance (Bank 2).” The ECM has decided the Bank 2 cam “B” signal is present but erratic, intermittent or out of its expected range when checked against the crankshaft. (Note: P0391 is the range/performance code — the “circuit low” version is P0394.) Common causes are a failing sensor, low or dirty oil affecting VVT timing, or a wiring/connector fault.
The P0391 trouble code points to an erratic or out-of-range signal from the Bank 2 camshaft position sensor “B”, which the ECM relies on to time the engine. This guide covers the symptoms, causes and fixes for P0391, and shows where live data on a scan tool like the iCarsoft CR Max P reveals whether the signal or the actual cam timing is at fault.
1What Does the P0391 Code Mean?
P0391 is a generic powertrain DTC set when the ECM finds the Bank 2 camshaft “B” signal is present but erratic, intermittent or out of range when correlated with the crankshaft. Sensor “B” is the exhaust camshaft sensor; Bank 2 is the bank without cylinder #1. Importantly, P0391 is the range/performance fault — not “circuit low,” which is P0394 — so on VVT engines it can also point to actual cam-timing drift, not just the sensor.
2Symptoms of the P0391 Code
- Check engine light on.
- Rough or fluctuating idle.
- Intermittent misfire on Bank 2, especially under light load.
- Hesitation or stumble during initial acceleration.
- Loss of power or reduced throttle response.
- Limp mode limiting engine speed.
- Reduced fuel economy.
3Common Causes of the P0391 Code
- Failing camshaft position sensor “B” (Bank 2) producing an erratic signal.
- Low or dirty oil / a sticking VVT (cam phaser) solenoid causing real cam-timing drift.
- Wiring or connector faults — frayed, corroded or oil-contaminated.
- Stretched timing chain, worn guides or a failing tensioner.
- Damaged or contaminated reluctor / tone ring.
- Weak battery or failing alternator giving inconsistent voltage.
- ECM fault or software issue (rare — verify mechanical and electrical first).
4How Serious Is P0391? Can You Keep Driving?
Don't leave P0391 too long. A range/performance fault means the Bank 2 cam timing correlation is unreliable, which can trigger misfires, drivability problems and limp mode — and on VVT engines it can flag underlying oil or timing issues. It's usually drivable short-term, but diagnose it soon, because misfires and timing faults can worsen and risk engine damage.
5How to Diagnose the P0391 Code
The goal is to separate a bad signal from actual cam-timing drift:
- Read codes and freeze-frame with a scan tool such as the iCarsoft CR Max P; note any VVT, misfire or correlation codes.
- Watch live data: compare camshaft “B” (Bank 2) against the crankshaft for dropouts or erratic readings at idle and on a brief rev.
- Check engine oil level and condition first — low or dirty oil is a frequent VVT-related cause.
- Inspect and back-probe the CMP-B connector and harness; wiggle-test for intermittents.
- If the signal is clean, look at timing-chain stretch via the cam/crank correlation data.
6Steps to Fix the P0391 Error Code
- Verify and correct engine oil level and condition; change oil and filter if dirty.
- Inspect and clean or repair the CMP-B (Bank 2) connector and wiring; fix any oil leak feeding the connector.
- Replace the camshaft position sensor “B” if the signal is erratic and the wiring checks good.
- Test and clean or replace the Bank 2 VVT / cam-phaser solenoid if cam timing is drifting.
- Inspect the timing chain, guides and tensioner if cam-crank correlation is off.
- Clear codes and confirm a stable, correlated cam-B signal in live data.
- Road-test to verify the misfire / limp-mode symptoms are gone.
7Why the Cam Signal Matters
The camshaft position sensor tells the ECM where the valves are so it can time fuel and spark — and on VVT engines, so it can verify the cam phasers are where it commanded. When the Bank 2 cam signal reads erratically, the ECM can't trust that timing, so it pulls back into a safe mode. A healthy sensor, clean wiring and good oil pressure are what keep that timing reference accurate.
8Which iCarsoft Tool to Use
The iCarsoft CR Max P is well suited to a P0391. Its live data lets you watch the cam-B-versus-crank correlation, and on supported vehicles its bi-directional VVT actuation test confirms whether the cam phaser responds — so you can tell an electrical/sensor fault from actual mechanical timing drift.
With CAN-FD support and coverage for 58 vehicle makes, it also confirms the cam signal reads cleanly again after the repair.
Recommended for P0391
iCarsoft CR Max P
Pro bi-directional scan tool with live cam/crank correlation, VVT actuation tests, CAN-FD and full-system diagnostics across 58 car brands — to confirm a P0391 fix.
$599.99 · was $819.99 · lifelong free updates
Shop CR Max P See full specs9P0391 Repair Cost
Cost depends on whether it's the sensor, the VVT solenoid, oil or timing components. Typical ranges (parts + labor):
| Repair | Typical cost |
|---|---|
| Diagnostic (scan) | $75–$150 |
| Camshaft sensor (Bank 2) replacement | $150–$350 |
| VVT / cam-phaser solenoid | $150–$400 |
| Oil & filter change | $40–$100 |
| Timing chain / tensioner / guides | $600–$1,800 |
These are general estimates — get a quote once the specific cause is confirmed.
10Prevention & Regular Maintenance
- Change oil at the recommended interval with the correct grade — VVT depends on clean oil pressure.
- Address low-oil or oil-leak issues quickly to protect cam phasers and sensors.
- Use OEM-quality sensors and VVT solenoids when replacing.
- Keep the battery and charging system healthy to avoid voltage-induced false readings.
- Inspect timing components per the maintenance schedule on higher-mileage engines.
11Related Trouble Codes
12P0391 — Frequently Asked Questions
Is P0391 the same as “circuit low”?
No — P0391 is officially “range/performance (Bank 2).” The “circuit low” code is P0394 and “circuit high” is P0393.
Can I keep driving with P0391?
Usually short-term, but misfires, limp mode and possible timing damage mean you should diagnose it soon.
Could low oil really cause this?
Yes — VVT cam phasers use oil pressure, so low or dirty oil is a very common trigger on these engines.
Is it the sensor or the timing chain?
Both are possible. Live-data cam-crank correlation tells you whether it's an electrical/sensor issue or actual mechanical timing drift.
How do I reset the P0391 code?
Repair the root cause first, then clear the code with a scan tool such as the iCarsoft CR Max P and verify a stable cam signal in live data.
13References
- SAE International, J2012 — Diagnostic Trouble Code Definitions (the standard that defines P0391).
- Wikipedia, Variable valve timing — background on cam phasers and timing control.