# P0016 code: Crankshaft/camshaft position correlation (bank 1 sensor A)

Source: https://codeandclear.com/blog/p0016-code
Published: 2026-10-09
Publisher: Code & Clear

**Short answer:** P0016 means the engine computer compared the crankshaft and bank 1 camshaft position signals and found they are out of their expected relationship. Common causes are low or dirty oil, a faulty variable valve timing (VVT) oil control valve or cam phaser, a stretched timing chain, or a faulty sensor. Check the oil first, and do not ignore a rattle on startup.

This page is for drivers who have a P0016 code and want to understand it before paying for repairs. P0016 can be as simple as low oil or as serious as a timing chain that has stretched or jumped a tooth. Below we explain what the code means, the symptoms, the causes from cheapest to most involved, how to diagnose it with a scan tool, and whether you can keep driving. If you also have a cam sensor code, see [P0340](https://codeandclear.com/blog/p0340-code). For VVT codes, see [P0011](https://codeandclear.com/blog/p0011-code) and [P0014](https://codeandclear.com/blog/p0014-code).

## What P0016 means

P0016 is a generic SAE code: **Crankshaft Position / Camshaft Position Correlation, Bank 1 Sensor A**. Bank 1 is the side of the engine with cylinder 1. On an inline four-cylinder engine there is only one bank. Sensor A is usually the intake camshaft, though some makers define it differently, so check your service information.

The crankshaft and camshafts are linked by a timing chain or belt, so their positions should always line up in a fixed pattern, plus whatever adjustment the VVT system is making. The engine computer compares the two sensor signals. When the relationship is outside the allowed window, it sets P0016. Use our [code decoder](https://codeandclear.com/tools/code-decoder) for related codes.

## Symptoms of P0016

- Check engine light on
- Rattle or chain noise for a few seconds on cold start on some engines
- Rough idle or stalling
- Hard starting or long cranking
- Reduced power or poor acceleration
- Lower fuel economy
- In some cases no symptoms other than the light

## Common causes of P0016

Start with oil, since VVT systems run on engine oil pressure. Low oil, the wrong viscosity or sludge can all upset cam timing.

| Cause | How to check | Typical fix |
| --- | --- | --- |
| Low, dirty or wrong-viscosity oil | Check the dipstick and the oil change history; confirm the grade on the oil cap or manual | Top up or change the oil and filter |
| Faulty VVT oil control valve (solenoid) | Check for VVT codes; command the valve with a bidirectional scan tool and watch cam timing change | Clean the screen or replace the valve |
| Clogged oil control valve screen | Remove and inspect the small filter screen if your engine has one | Clean or replace the screen |
| Faulty crank or cam position sensor | Look for sensor circuit codes; inspect connectors; check signals | Replace the sensor |
| Stretched timing chain or worn guides and tensioner | Rattle on startup; cam/crank correlation values in live data on some vehicles | Replace the timing chain set |
| Timing chain or belt jumped a tooth | Verify timing marks per service information | Correct the timing and replace worn parts |
| Faulty cam phaser | Cam timing does not follow commands in live data | Replace the phaser |

P0016 causes, checks and typical fixes

## How to diagnose P0016

To test VVT parts properly you need a scan tool that can show cam timing and command the oil control valve. See our guide to the [best bidirectional scan tools](https://codeandclear.com/best/best-bidirectional-scan-tool).

1. Read all codes. Note VVT codes like [P0011](https://codeandclear.com/blog/p0011-code) or [P0014](https://codeandclear.com/blog/p0014-code), sensor codes like [P0335](https://codeandclear.com/blog/p0335-code) or [P0340](https://codeandclear.com/blog/p0340-code), and P0017, P0018 or P0019 for other banks or sensors.
2. Save the [freeze frame data](https://codeandclear.com/blog/freeze-frame-data-explained). Note engine temperature and RPM when the code set.
3. Check the oil level and condition. Confirm the correct viscosity. If the oil is low or long overdue, change it, clear the code and see if it returns.
4. Inspect the crank and cam sensor connectors and wiring for oil intrusion and damage.
5. In live data, compare desired versus actual cam position. Some scan tools also show a cam/crank correlation or deviation value on certain makes, which helps judge chain stretch.
6. Command the oil control valve with your scan tool. Engine idle should change or the cam angle should move. If it does not, test the valve and check the screen.
7. If everything else is good and the code returns, have the timing checked. Verifying timing marks often requires removing covers and should follow the service information.

Note: Do not crank or run an engine you suspect has jumped timing more than necessary. On interference engines, valves can contact the pistons.

## How to fix P0016

If the cause was oil, change it with the grade listed for your engine and keep up with intervals. If the oil control valve or screen is at fault, replacing or cleaning it is usually a moderate job. If the timing chain has stretched, the repair is a timing chain kit, which is a large job on many engines and is best done by a professional or an experienced DIYer with the right tools.

Some manufacturers have released service bulletins for P0016 related to specific engines and timing components. Ask a dealer or check service information for bulletins that apply to your vehicle.

## Can you drive with P0016?

If the engine runs smoothly and the oil was simply low, you can usually drive after topping up while you confirm the fix. If you hear a rattle, the engine runs rough, or the timing may have jumped, limit driving and get it checked soon. A failed timing chain can cause serious engine damage on interference engines. See [can you drive with the check engine light on](https://codeandclear.com/blog/can-you-drive-with-check-engine-light-on).

[See scan tools that test VVT](https://codeandclear.com/best/best-bidirectional-scan-tool)

## Related codes

Codes often seen with P0016: [P0011](https://codeandclear.com/blog/p0011-code) (intake cam timing over-advanced, bank 1), [P0014](https://codeandclear.com/blog/p0014-code) (exhaust cam timing over-advanced, bank 1), [P0335](https://codeandclear.com/blog/p0335-code) (crankshaft position sensor circuit), [P0340](https://codeandclear.com/blog/p0340-code) (camshaft position sensor circuit) and [P0300](https://codeandclear.com/blog/p0300-code) (random misfire).

## Frequently asked questions

**Can low oil cause P0016?** Yes. VVT systems use oil pressure to move the cam phasers. Low oil, the wrong viscosity or sludge can stop the phaser from holding its position and set P0016.

**Does P0016 always mean a bad timing chain?** No. Check oil, sensors and the oil control valve first. A stretched chain is a known cause, but it is usually confirmed after cheaper causes are ruled out.

**What is the difference between P0016 and P0017?** P0016 refers to bank 1 sensor A, usually the intake cam. P0017 refers to bank 1 sensor B, usually the exhaust cam. P0018 and P0019 are the same checks for bank 2.

**Will clearing P0016 fix it?** No. If the cause is still there, the code returns. Clearing it after an oil change is a reasonable test to see if oil was the problem.

## Gear guides for this topic

- https://codeandclear.com/best/best-bidirectional-scan-tool
- https://codeandclear.com/best/best-obd2-scanner-for-diy-mechanics
- https://codeandclear.com/best/best-professional-diagnostic-tablet
