Ad Space — Top Banner

P0391

Universal (All Makes) Vehicle (OBD-II)

Severity: Moderate

What Does This Error Mean?

P0391 means the camshaft position sensor B on Bank 2 is producing a signal that is outside the expected performance range. Sensor B is the exhaust camshaft in a DOHC engine. Bank 2 is the side of the engine that does not contain cylinder 1. This is a performance code — the sensor works, but its output does not match what the PCM expects based on engine conditions.

Affected Models

  • All 1996+ V6, V8, and V10 vehicles with DOHC engines and variable valve timing
  • Common in Toyota Camry V6, 4Runner, Highlander, and Tacoma V6 with VVT-i
  • Common in Honda and Acura V6 engines with i-VTEC
  • Common in Ford Mustang, F-150, and Explorer with DOHC Ti-VCT
  • Common in GM vehicles with active fuel management and dual DOHC variable valve timing

Common Causes

  • Oil contamination on the cam sensor from a valve cover gasket leak affecting signal quality
  • Clogged or sticking VVT oil control solenoid on Bank 2 causing erratic cam movement
  • Stretched timing chain on Bank 2 side causing actual cam position to drift from commanded
  • Metal debris on the Bank 2 camshaft reluctor ring causing occasional signal errors
  • Failing cam sensor producing a signal that starts and stops rather than a clean steady wave

How to Fix It

  1. Check engine oil level and quality immediately. Dirty, low, or sludged oil is the leading cause of cam timing performance codes on VVT-equipped engines. Change the oil and filter with the manufacturer-specified oil weight before doing any other diagnosis.

    This is always the right first step for any cam timing or VVT-related code. Many P0391 codes on Toyota V6 engines have been resolved by an oil change alone. It is cheap and takes 20 minutes.

  2. Inspect the camshaft position sensor B connector on Bank 2 for oil contamination. A leaking valve cover gasket on Bank 2 can saturate the sensor and connector with oil, causing erratic signal output. Replace the gasket if oil is present at the sensor.

    Even a small amount of oil in the sensor connector can cause the signal voltage to fluctuate unpredictably. The sensor itself may be fine — the oil contamination is the cause.

  3. Check and clean the VVT oil control solenoid on Bank 2. The solenoid has a small filter screen that can become clogged with engine sludge. Remove the solenoid, clean the screen with solvent, and reinstall. A clogged solenoid causes erratic cam position that triggers P0391.

    On Toyota and Honda V6 engines, cleaning or replacing the VVT solenoid is a $30-$80 repair that cures cam timing performance codes much more often than sensor or timing chain replacement.

  4. Use a scan tool to compare actual Bank 2 exhaust cam position against commanded position in real time. Start with the engine cold and watch as it warms up. A cam that is consistently retarded from the command points to timing chain stretch. A cam that hunts or jumps around points to a VVT actuator problem.

    This live data check is the key diagnostic step for P0391. Without it, you are guessing at expensive repairs. Even a basic scanner with live data can perform this test.

  5. Replace the cam sensor if oil contamination is ruled out, the solenoid is clean, and actual cam timing matches commanded timing. A sensor producing a degraded signal will show a performance code even when everything mechanical is working correctly. Clear codes and road test after replacement.

    If replacing the sensor and cleaning the solenoid does not fix P0391, and timing chain stretch is confirmed by live data, a timing chain job will be necessary. Get a quote from a reputable shop.

When to Call a Professional

P0391 often points to a mechanical or oil-related issue rather than just a bad sensor. Checking actual vs. commanded cam timing requires a scan tool with live PID data. If timing chain stretch or a VVT actuator fault is suspected, professional diagnosis is the right next step. Diagnosis runs $80-$150. VVT solenoid replacement costs $100-$300. Timing chain replacement on a V6 or V8 typically runs $700-$2,500.

Frequently Asked Questions

Why does P0391 often appear alongside other VVT codes?

The VVT system on Bank 2 involves several components working together — the cam sensor, the oil control solenoid, the VVT actuator on the camshaft, and clean oil pressure. A problem with any one of these can cause the cam position to be off, which the sensor reports as out of range. So P0391 often comes alongside VVT actuator codes or oil pressure codes because they share the same root cause.

Can I prevent P0391 with regular maintenance?

Yes. The single best prevention is changing the engine oil on time with the correct oil weight. Sludged or degraded oil clogs VVT solenoid screens and starves the cam actuators of the pressure they need. Using the manufacturer-specified oil type and changing it every 5,000-7,500 miles prevents the majority of cam timing faults on VVT-equipped engines.

Is P0391 more serious than P0390?

Not necessarily — they are different types of faults, not different severity levels. P0390 is a circuit fault (electrical wiring or sensor problem). P0391 is a performance fault (the sensor signal or actual cam timing is outside the expected range). P0391 is often more serious in practice because it is more likely to indicate a mechanical problem like timing chain stretch.