P0016 Crankshaft Position — Camshaft Position Correlation (Bank 1, Sensor A)
The camshaft and crankshaft aren't lining up where the computer expects — often a stretched timing chain or a stuck variable-valve-timing solenoid.
Misfire & ignition
The ECU continuously compares the crank and cam signals. They should hold a fixed relationship, because a chain or belt ties them together. P0016 means the measured relationship drifted outside tolerance. Unlike P0335 or P0340, both sensors may be perfectly healthy — the code is reporting that the mechanical relationship itself has moved, which is why it so often means real engine work rather than a sensor swap.
Diagnose P0016 on your specific vehicle Add your year, make and model for ranked causes, repair videos and the exact parts you needCan I keep driving?
Driveable
Limit driving to what it takes to get it diagnosed. The failure this precedes is expensive and sudden.
How serious
High. On engines where the chain guides wear, this is an early warning before a chain jumps, and a jumped chain on an interference engine bends valves. Do not sit on this one.
Symptoms you'll notice
- Rattle from the front of the engine on startup, fading after a few seconds
- Rough idle and reduced power
- Long cranking before start
- Check-engine light with misfire codes alongside
- Sometimes no drivability symptom at all — just the light
What causes P0016
Ordered by what to check first — how likely each cause is, weighed against what it costs to rule out. Working down the list in order is what stops you replacing an expensive part to fix a cheap problem.
Stretched timing chain or worn chain guides
The most common cause on higher-mileage engines, and the one this code exists to catch early. A chain that has stretched retards cam timing a few degrees — enough to fail the correlation check long before it skips a tooth. The startup rattle is the tensioner failing to take up slack before oil pressure builds.
Stuck or clogged VVT/VCT solenoid
The solenoid meters oil to the cam phaser. Sludge blocks its screen and the phaser stops following commands. This is the cheap end of the diagnosis — worth cleaning or replacing the solenoid before assuming chain work, especially if oil changes have been neglected.
Low or dirty engine oil
Cam phasers are hydraulic and run on engine oil pressure. Low level, the wrong viscosity, or oil overdue for a change will genuinely set this code — and it is the first thing to check because it costs nothing.
Failed cam phaser
The phaser itself can wear internally and no longer hold its commanded position even with good oil and a working solenoid.
Timing chain installed one tooth out
If the engine has had recent timing work, suspect the work before suspecting wear.
How to diagnose it
- Check oil level and condition first, and note when it was last changed. Sludgy or low oil is a real cause, not a formality.
- Listen for a chain rattle during the first seconds after a cold start.
- Remove and inspect the VVT solenoid and its screen for sludge; clean or replace and see whether the code returns.
- Compare commanded versus actual cam position on live data — a phaser that never reaches its target points at the solenoid or the phaser.
- If the above is clean, inspect actual timing marks or measure chain slack. This is the point at which the job becomes a repair rather than a part swap.
Parts you might need
Tools for the job
- Torque wrench
- Timing tool set
- OBD-II scanner with live data
Related trouble codes
- P0011 — Camshaft Position A — Timing Over-Advanced or System Performance (Bank 1)
- P0340 — Camshaft Position Sensor A Circuit Malfunction (Bank 1)
- P0335 — Crankshaft Position Sensor A Circuit Malfunction
- P0300 — Random/Multiple Cylinder Misfire Detected
Fitment matters. Causes and parts above are the common cases for P0016 across vehicles. The specific part numbers, procedures and torque specs vary by year, make, model and engine — always confirm against service data for your vehicle before buying parts or starting work.