P0021

A Camshaft Position - Timing Over-Advanced or System Performance (Bank 2)

P0021 is a generic OBD-II powertrain diagnostic trouble code: A Camshaft Position - Timing Over-Advanced or System 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
P0021
Group
Powertrain
System
CKP/CMP
Severity
Warning (MIL on, possible limp mode)
Need P0021 disabled?
RaceTune permanently disables any OBD-II trouble code on supported ECUs — for motorsport, off-road, and export use.

What P0021 means

P0021 — "A" Camshaft Position Timing Over-Advanced or System Performance (Bank 2) — is stored when the ECM determines that the intake ("A") camshaft on Bank 2 is more advanced than the ECM commanded, or that the VVT system is performing outside acceptable limits despite a valid command. Bank 2 is the side of the engine that does not contain cylinder #1 in a multi-bank (V or boxer) engine layout.

Variable valve timing systems advance the intake camshaft during mid-to-high RPM conditions to improve volumetric efficiency and power output, then retard it at idle and light load for smooth running. The ECM compares the actual cam angle — reported by the camshaft position sensor — against the target angle derived from the crankshaft position sensor. P0021 sets when the intake cam on Bank 2 is consistently further advanced than commanded, suggesting the oil control valve is stuck open (allowing continuous oil flow to the advance chamber) or the phaser itself is mechanically stuck advanced.

Oil condition is the most frequent contributor: low oil pressure or sludge prevents the phaser from returning to the retarded position against spring tension. A stretched timing chain is another common cause because it can shift the effective cam timing toward advance. This code may appear alongside P0011 (same fault, Bank 1) on engines where both banks share similar VVT wear patterns.

Common causes

Most-frequently reported root causes when P0021 is logged.

  • 1
    OCV solenoid stuck in the open (advance) position, continuously feeding oil pressure to the phaser advance chamber.
  • 2
    Low engine oil level or insufficient oil pressure preventing the phaser from returning from the advanced position.
  • 3
    Dirty or degraded engine oil causing the phaser or OCV to stick in the advanced direction.
  • 4
    Stretched or worn timing chain shifting cam-to-crank phasing toward advance.
  • 5
    Faulty or worn camshaft phaser (VVT actuator) mechanically stuck in the advanced position.
  • 6
    Incorrect engine oil viscosity (too thin) allowing the phaser to over-travel on command.
  • 7
    Defective camshaft position sensor providing an artificially advanced reading to the ECM.
  • 8
    Clogged oil passages in the cylinder head restricting return oil flow from the phaser.

Symptoms drivers notice

Check engine light (MIL) illuminated.
Hard starting, particularly when the engine is warm.
Rough or fluctuating idle, sometimes accompanied by stalling.
Reduced fuel economy.
Engine hesitation or stumble under light throttle loads.
Possible rattling or ticking from the timing chain or cam phaser area.

How to diagnose P0021

A typical diagnostic flow when this code is present.

  1. 1
    Connect an OBD-II scanner, record all stored codes and freeze-frame data; note whether P0021 is stored alone or alongside Bank 1 codes (P0011) that suggest a systemic oil issue.
  2. 2
    Check engine oil level and condition; dark, gritty, or milky oil should be changed before further electrical diagnosis as oil quality directly drives phaser performance.
  3. 3
    Use live scanner data to compare the Bank 2 intake camshaft actual angle versus the commanded target angle at idle and at 2,000 RPM — confirm the cam is genuinely running ahead of target.
  4. 4
    Inspect the oil control valve (OCV) solenoid connector and wiring for corrosion or damage, then test solenoid resistance against the manufacturer specification.
  5. 5
    With a bi-directional scanner, command the Bank 2 intake OCV solenoid to full retard and observe whether the camshaft angle responds by moving toward the retarded position; if the cam remains advanced, suspect a stuck solenoid or phaser.
  6. 6
    Inspect the timing chain for stretch or slack, particularly if the vehicle has high mileage — a worn chain can contribute several degrees of apparent cam advance relative to the crank.
  7. 7
    If all components test within specification, verify there are no open PCM software updates or relevant technical service bulletins for the vehicle.

Related powertrain codes

Frequently asked questions

What happens if I ignore P0021?

Continued operation with over-advanced timing increases fuel consumption and can cause rough idle and hard starting. Over time, a stuck phaser can accelerate timing chain wear and, in severe cases, lead to valve-to-piston contact on interference engines.

Can an oil change fix P0021?

If the over-advance condition is caused by sludgy oil preventing the phaser from returning to the retarded position, a fresh oil and filter change with the correct viscosity can resolve the fault. The code will clear after the PCM completes enough drive cycles without detecting the fault.

P0021 vs P0011 — what is the difference?

Both codes describe an intake camshaft that is over-advanced, but P0011 applies to Bank 1 (the bank containing cylinder #1) and P0021 applies to Bank 2. The diagnosis and repair path are essentially the same, targeting the respective bank.

Is this code common on specific makes?

P0021 appears frequently on Nissan/Infiniti vehicles with the VVEL or VQ engine families, BMW N-series engines, and Subaru EJ/FA engines — all of which use active dual-VVT systems that are sensitive to oil maintenance intervals.

Disabling P0021 in software

RaceTune can permanently disable P0021 — 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 P0021 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