A P0011 or P0016 on a modern petrol engine is rarely a “bad sensor” problem. Both codes come from the variable valve timing (VVT) system, which turns the camshaft relative to the crankshaft using engine oil, a solenoid valve and constant feedback from the cam sensor. This guide explains the hardware, the ECU control loop, the role of oil, and a diagnostic order that avoids replacing parts you did not need to replace.
What cam phasing changes
Valve timing sets when the intake and exhaust valves open and close relative to piston position, and how long both are open together (overlap). A fixed camshaft can only be ideal at one operating point. A cam phaser lets the ECU move the whole cam profile earlier (advance) or later (retard) by a limited number of crank degrees while the engine runs. Valve lift and duration stay the same; only the timing of the events moves. Systems that also change lift, such as two-step or continuously variable lift, are related but separate technologies.

Inside the phaser and the oil control valve
The common vane phaser has two halves. The stator (housing) is joined to the timing sprocket and turns with the crankshaft drive. The rotor is fixed to the camshaft and carries vanes that sit in oil-filled pockets of the housing. Oil pushed into the pockets on one side of the vanes rotates the camshaft in the advance direction; oil on the other side rotates it towards retard.
The oil control valve (OCV, VVT solenoid) is a spool valve with a pressure port from the oil pump, two work ports to the advance and retard circuits, and drain ports. The ECU energises the coil with a pulse-width-modulated (PWM) signal: the spool position follows the average current, so the ECU can steer oil to either side or hold the spool centred so both circuits are blocked. On some engines the valve sits in the cylinder head; on others it is built into the central bolt of the phaser. A few designs use camshaft torque pulses instead of only pump pressure to move the rotor, and some newer engines use electric phasers, but the hydraulic layout remains the most common.
Because oil pressure is low during cranking, a spring-loaded lock pin holds the phaser at a fixed base position until pressure rises. Intake phasers usually rest at the retarded end, while exhaust phasers often rest at their advanced end with help from a spring; some engines use a mid-position lock instead.
How the ECU controls cam angle
The control strategy has two layers. The base maps say where the cam should be, usually as desired angle against rpm and engine load, with separate tables for intake and exhaust cams. The feedback loop makes the cam actually go there. The ECU measures the real cam position by timing the CMP target-wheel edges against the crankshaft reference, calculates the error, and a PI or PID controller adjusts the OCV duty around a learned hold value.
Release conditions stop the phaser moving when it cannot be controlled reliably: low oil temperature, very low rpm, insufficient oil pressure or a detected sensor fault. Adaptation values compensate for small manufacturing tolerances by learning the locked reference angle, which is why some engines need an adaptation reset after timing work.

Oil level and viscosity matter
A hydraulic phaser is only as good as its oil supply. Common causes of slow or unstable cam control are:
- Low oil level or worn pump giving low pressure at idle
- Oil grade thinner or thicker than specified, changing leakage and response
- Sludge or debris blocking the fine screens in front of the OCV
- Worn cam bearings or seals leaking pressure before it reaches the phaser
An oil and filter change to the correct specification is often the first repair step, followed by a code clear and test drive.
Diagnostic order that saves time
- Classify the code. Circuit codes (P0010, P0075–P0077) are electrical; over-advanced/over-retarded codes (P0011, P0012) mean the cam did not follow the target; correlation codes (P0016–P0019) mean cam and crank do not line up as expected.
- Look at oil level, grade and condition.
- Log desired vs actual cam angle at idle and under acceleration. A slow follow points to oil or the OCV; a constant offset points to timing drive or sensor.
- Check the OCV electrically and mechanically. Coil resistance to specification, PWM on a scope, connector condition, and a clean, freely moving spool.
- Check the timing drive. A stretched chain, worn tensioner or guides, or a timing belt one tooth out often sets P0016/P0017. Confirm with timing marks or the manufacturer’s cam/crank deviation values before ordering parts.
- Confirm the CMP signal and target wheel, then clear codes and retest.
Related fault codes (DTCs)
SAE J2012 generic codes. “A” usually refers to the intake cam and “B” to the exhaust cam, but manufacturer assignment can vary.
| Code | Meaning | Typical causes |
|---|---|---|
| P0010 / P0013 | “A” / “B” Camshaft Position Actuator Circuit (Bank 1) | Open or shorted OCV coil, damaged wiring or connector |
| P0011 / P0014 | “A” / “B” Camshaft Position – Timing Over-Advanced or System Performance (Bank 1) | Low/dirty oil, wrong viscosity, sticking OCV, blocked screen |
| P0012 / P0015 | “A” / “B” Camshaft Position – Timing Over-Retarded (Bank 1) | Low oil pressure, OCV stuck, phaser seized at lock position |
| P0016 / P0017 | Crankshaft Position – Camshaft Position Correlation Bank 1 Sensor A / B | Chain stretch, belt/chain jumped, CMP or reluctor fault |
| P0018 / P0019 | Crankshaft Position – Camshaft Position Correlation Bank 2 Sensor A / B | Timing drive wear, CMP fault on Bank 2 |
| P0020 / P0023 | “A” / “B” Camshaft Position Actuator Circuit (Bank 2) | Bank 2 OCV or wiring |
| P0021 / P0024 | “A” / “B” Camshaft Position – Timing Over-Advanced or System Performance (Bank 2) | Oil supply, OCV, phaser |
| P0022 / P0025 | “A” / “B” Camshaft Position – Timing Over-Retarded (Bank 2) | Oil supply, OCV, phaser |
| P0026 / P0027 | Intake / Exhaust Valve Control Solenoid Circuit Range/Performance (Bank 1) | Intermittent solenoid or wiring, contamination |
| P0075–P0077 | Intake Valve Control Solenoid Circuit / Low / High (Bank 1) | Open circuit, short to ground or supply |
| P0078–P0080 | Exhaust Valve Control Solenoid Circuit / Low / High (Bank 1) | Open circuit, short to ground or supply |
Beyond passenger cars
Vans with petrol engines use the same systems as cars. V-engined petrol pickups and light trucks control each bank separately, so Bank 2 codes appear there. Most agricultural and heavy-duty diesels have fixed main cam timing, although variable valve actuation appears on some engines for functions such as engine braking or exhaust heat management. Many modern motorcycles pair intake or dual cam phasing, or variable lift, with ride-by-wire throttles.
VVT and ECU tuning
Cam targets interact with boost, ignition advance, knock margin and exhaust temperature, so a petrol calibration that changes torque usually reviews the cam maps as well. Results should be validated by logging desired and actual angles. Tuning is not a repair: fix oil, OCV and timing-drive faults first, and keep cam monitoring active.
Need a petrol calibration with cam timing tables matched to your hardware? Find tuning files at ECUFlashFiles.