Code guide

P0016 — crank/camshaft position correlation

Two sensors that are supposed to always agree on relative timing stopped agreeing. Whether the engine sounds and runs normally, or doesn't, is the single biggest clue to how serious this actually is.

Bank 1 Sensor A · Crank/cam correlation · P0011/P0014 are VVT-target faults, not this

Read this first

If you hear a new rattle, tick, or grinding sound from the front of the engine — especially at startup — or the engine ran roughly, stalled, and now won't restart cleanly, don't keep cranking it or driving it. On many engines, the valves and pistons occupy the same physical space at different points in their travel, and only correct camshaft-to-crankshaft timing keeps them apart. A timing chain that has genuinely slipped is a mechanical emergency for that engine, not a code to schedule around.

The short version

P0016 means the computer compared the signal from the crankshaft position sensor against the camshaft position sensor and found their relative timing doesn't match the fixed relationship it expects. That's a genuinely different kind of fault from P0011 or P0014, which mean a variable valve timing system missed its commanded target angle while staying broadly plausible. P0016 usually means something in the actual mechanical connection between the crank and the cam — most often the timing chain — has physically shifted.

Reading codes and freeze frames is free in Fixiom — always, no credits and no subscription.

What "correlation" actually means

The crankshaft spins twice for every one full engine cycle. The camshaft spins once. The camshaft's signal is what tells the computer which of the crank's two revolutions a given cylinder is actually in — the two signals are supposed to line up in a fixed, unchanging relative position, set entirely by how the timing chain, belt, or gears physically connect the two shafts.

If the chain stretches over time, jumps a tooth on a sprocket, or a guide or tensioner fails and lets slack develop, the cam quietly settles into a slightly different position relative to the crank than it should. Once that shift is large enough, the correlation check fails and P0016 sets.

Noise, or no noise?

This is the single most useful thing to establish, because it points at genuinely different levels of urgency:

  • Rough running, a rattle at cold start, reduced power, or a hard or failed restart — the mechanical story: an actual stretched or jumped chain. Treat this as the more serious end and get it looked at before driving much further. Chain slip tends to get worse, not better, and on many engines a badly slipped chain and a piston are one bad moment away from meeting.
  • The engine runs smoothly, no unusual noise, and the code set once or intermittently — leans toward a VVT phaser stuck at an extreme angle (which can push correlation outside tolerance with no chain slip at all), a marginal sensor signal, or a relearn some computers need after a crank sensor or engine computer has been replaced. Still worth diagnosing properly, and genuinely less urgent.

Rule out a circuit fault first

If P0340, or a crank sensor circuit code, is stored alongside P0016, fix that one first. A correlation check is only as good as the two signals feeding it — a marginal or partially failed sensor circuit can throw the comparison off on its own, with no actual timing problem underneath it. Chasing a chain before ruling out a circuit fault is a common way to misdiagnose this one.

The free live-data test

  • Note whether the light came on with a noise you noticed, or silently — the single most diagnostic thing you know before touching a tool.
  • Check for a stored circuit code on either sensor alongside it (see above).
  • Read the freeze frame for whether it set at a cold start, under load, or at idle. A cold-start-only correlation fault that clears once the tensioner takes up slack for the day is a different story than one that's present constantly.
  • Where the vehicle reports commanded-versus-actual cam position (VVT-equipped engines; Fixiom shows this only when your specific vehicle answers it), a phaser sitting pinned at one extreme rather than tracking the computer's commands leans toward the phaser rather than the chain.

Likely causes, in order

  • A stretched timing chain, or worn guides and tensioner. The classic, most common mechanical cause — worse with age and mileage, and especially with skipped oil changes, since a chain starved of clean, pressurized oil wears faster.
  • A chain or belt that's jumped a tooth, often following a failed tensioner, a broken guide, or a sudden mechanical event.
  • A VVT phaser stuck at an extreme position.
  • A marginal or failing crank or cam sensor giving an implausible-but-not-quite-circuit-fault signal.
  • Incorrect timing after a recent repair, where the timing marks weren't lined up correctly during reassembly.

Is it safe to drive?

This genuinely depends on the noise-or-no-noise read above. No noise, smooth running: usually safe to get it looked at soon, without treating it as an emergency. A rattle, stalling, or a hard restart: treat it seriously and minimize driving until it's checked. This is one of the few codes on this site where getting it looked at promptly is closer to the right advice than diagnosing it yourself over a few days.

What a phone can't see

What it genuinely gives you: the code, whether a companion circuit code is stored, freeze frame timing, commanded-versus-actual cam data where the vehicle reports it, and a place to note the one thing that matters most here — the noise and running-behavior pattern, which no reading substitutes for.

What it cannot do:

  • Measure actual chain stretch or check timing marks. That needs the timing cover, or at minimum a valve cover, off and a direct look.
  • Confirm a phaser is mechanically stuck versus electrically miscommanded. That's a hands-on test.
  • Predict how much longer a stretched chain has before it skips again. That's a judgment call for whoever has eyes on it.

Common questions

Is P0016 a dangerous code?+

It depends entirely on how the engine sounds and runs. A rattle at startup, rough running, or a hard/failed restart points at an actual slipped or stretched timing chain — treat that seriously and get it looked at before driving much further. Smooth running with no unusual noise leans toward a stuck VVT phaser or a sensor issue instead, which is genuinely less urgent.

What's the difference between P0016 and P0011?+

P0011 (and P0014) mean a variable valve timing system missed its commanded target angle while the cam's overall position stayed broadly plausible — usually an oil, solenoid, or phaser problem. P0016 means the crank and cam sensors, when compared, disagree on their fixed relative timing entirely — usually a mechanical issue with the actual timing chain connecting them.

Can I drive with a P0016?+

If the engine runs smoothly with no unusual noise, it's usually safe to get it looked at soon rather than treating it as an emergency. If there's a rattle, rough running, stalling, or a hard restart, minimize driving and get it checked promptly — a genuinely slipped timing chain can progress toward valve-to-piston contact on many engines.

Does P0016 always mean I need a new timing chain?+

No. A stretched or jumped chain is the most common cause, but a VVT phaser stuck at an extreme position, a marginal crank or cam sensor, or incorrect timing after a recent repair can all set the same code without chain replacement being the answer.

If P0016 and P0340 are both stored, which do I fix first?+

The circuit fault (P0340) first. A correlation check is only as good as the two signals feeding it, and a marginal cam-sensor circuit can make an otherwise-correct timing relationship look wrong to the computer. Chasing a chain before ruling out the circuit fault is a common way to misdiagnose this pair.

  • P0340 — Camshaft sensor circuit — a missing signal, not a comparison fault. Different code than P0016.
  • P0011 — Cam timing over-advanced — the code where the dipstick is the first diagnostic tool.
  • P0014 — Exhaust cam over-advanced — the same oil-first check as P0011, on the other cam.
  • P0300 — Random misfire — and the per-cylinder counters that show which one it really is.

Two sensors that stopped agreeing. What you hear decides how urgent that is.

Codes and freeze frames are free in Fixiom — always. The noise-or-no-noise read costs nothing and matters more than any reading here.

Get the app — free See how the live diagnosis works →