A Mazda engine control module sets P0011 or P0012 when the actual intake camshaft position does not match the commanded position. The timing chain is not the only possible cause. Depending on the engine, you may need to check the hydraulic S-VT system or the electric variable valve timing (electric VVT) drive, including its power supply, wiring and actual timing values.
It is especially important to tell apart:
- the Mazda CX-7 2.3 Turbo MZR DISI, which uses hydraulic valve timing control;
- Skyactiv-G engines, where an electric VVT drive controls the intake camshaft.
The generic advice to “replace the VVT valve” does not apply to every Mazda.
This guide is part of the Mazda trouble codes guide.
What P0011 and P0012 mean
| Code | Definition | What the PCM detected |
|---|---|---|
| P0011 | Intake camshaft timing over-advanced, Bank 1 | The intake camshaft is more advanced than commanded |
| P0012 | Intake camshaft timing over-retarded, Bank 1 | The intake camshaft did not advance enough or stayed in the retarded position |
Mazda inline four-cylinder engines have only Bank 1. “Bank 1” does not mean you should look for a separate left or right cylinder head.
The code reports the result of the timing monitor. It does not name the faulty part. Replacing the camshaft sensor, the oil control valve (OCV) or the timing chain based only on the DTC number may not fix the cause.

How much timing deviation is allowed
In Mazda’s diagnostic procedure for the Skyactiv-G 1.5, 2.0 and 2.5, a difference of up to about 15° between target and actual intake camshaft timing is normal.
The PCM may set P0011 or P0012 if the deviation stays outside this range for about 10 seconds while the monitoring conditions are met:
- battery voltage above 11 V;
- engine coolant temperature of 20 °C (68 °F) or higher;
- engine speed of 5,000 rpm or lower;
- P0010, P0335 and P0340 not stored at the same time.
This threshold does not apply to every Mazda generation or market. It belongs to the Mazda procedure for the Skyactiv-G versions listed above. On the CX-7 2.3 Turbo, the monitoring conditions and diagnostic sequence may differ.
Source: Mazda diagnostic procedure P0011:00/P0012:00 for Skyactiv-G.
The CX-7 and Skyactiv-G engines are diagnosed differently
Mazda CX-7 2.3 Turbo
On the CX-7 with the 2.3 MZR DISI Turbo engine, intake camshaft timing is controlled by the hydraulic S-VT system. Its operation depends on oil supply and on the mechanical condition of the timing drive.
Check:
- engine oil level and condition;
- whether the oil meets the required specification;
- oil pressure;
- the OCV and its filter screen or oil passages;
- OCV power supply and wiring;
- the hydraulic S-VT actuator;
- the tensioner, chain guides and timing chain;
- correct valve timing after engine repair;
- crankshaft and camshaft position sensor signals.
A typical CX-7 case is P0012 after a timing chain replacement or engine repair. Do not buy another actuator straight away. First check the timing marks, chain tension, camshaft locking, OCV operation and whether the actual camshaft position follows the PCM command.
Mazda with Skyactiv-G
On the Skyactiv-G engines covered here, the intake camshaft position is controlled by an electric VVT system.

The main items to check are:
- the electric VVT motor/driver;
- the electric intake camshaft actuator;
- the electric VVT relay;
- fuses and power supply;
- connectors and wiring;
- the VT_IN_ACT and VT_IN_DES parameters;
- the timing chain and its installation;
- the CMP and CKP sensor target areas;
- the PCM, only after all other causes are ruled out.
One Skyactiv-G engine can use both:
- an electric VVT on the intake camshaft;
- a hydraulic VVT with an OCV on the exhaust camshaft.
In this service procedure, however, P0011/P0012 monitor the electric intake VVT. The hydraulic unit on the exhaust side does not make oil or the exhaust OCV the main cause of these two codes.
Which Mazda vehicles get P0011/P0012
| Vehicle or engine | Control type | Main diagnostic focus |
|---|---|---|
| CX-7 2.3 MZR DISI Turbo | Hydraulic S-VT | Oil, oil pressure, OCV, actuator, chain |
| Mazda3/Mazda6 with MZR engines | Hydraulic VVT, depending on engine | OCV, oil, mechanical timing, chain |
| Mazda3, Mazda6, CX-5 with Skyactiv-G | Electric intake VVT | Motor/driver, actuator, relay, wiring, PIDs |
| MX-5 with Skyactiv-G 2.0 | Electric intake VVT | Actual vs target timing, electric drive, chain |
| Other Mazda models | Depends on engine and market | Identify the engine code and VVT design first |
Check the engine by VIN before ordering parts. For example, a CX-7 2.3 Turbo must not be diagnosed with the Skyactiv-G procedure. The “S-VT” name alone does not mean the systems are built the same way.
Symptoms that may come with the code
P0011/P0012 may come with:
- Check Engine light on;
- longer cranking than usual;
- unstable idle;
- reduced power;
- higher fuel consumption;
- metallic noise from the timing drive;
- stalling after start-up;
- misfires (see Mazda P0300–P0306);
- P0010, P0016, P0017, P0335, P0340 or P1380 stored with P0011/P0012.
Sometimes the driver notices no change. That does not mean the code can be ignored. An electric drive may stick intermittently, and a mechanical timing error may show up only at certain temperatures and engine speeds.
Can you drive with P0011 or P0012?
If the Check Engine light is steady, the oil level is normal and there is no unusual noise, a short, low-load drive to a workshop is usually acceptable. Do not put off the diagnosis.
Stop the engine and do not continue driving if:
- the low oil pressure warning comes on;
- you hear a clear metallic knock or chain rattle;
- the engine stalls or runs very roughly;
- power drops sharply;
- severe misfires occur;
- the Check Engine light is flashing;
- the code appeared right after timing drive work and incorrect valve timing is suspected.
A flashing Check Engine light usually means misfires that can damage the catalytic converter, not P0011/P0012 itself. Incorrect valve timing can still cause unstable combustion. For catalyst codes, see Mazda P0420/P0421.
Main causes of P0011/P0012
| Cause | Most relevant for | How to confirm |
|---|---|---|
| Low or wrong engine oil | Hydraulic S-VT, including CX-7 2.3 | Check oil level, condition and specification |
| Insufficient oil pressure | CX-7 and other hydraulic systems | Measure pressure using the Mazda procedure |
| Contaminated or stuck OCV | Hydraulic S-VT | Check power supply, resistance, valve response and passages |
| S-VT actuator failure | CX-7, MZR | Check control and mechanical timing response |
| Electric VVT motor/driver failure | Skyactiv-G | Check power supply, connector and the Mazda inspection procedure |
| Damaged electric actuator | Skyactiv-G | Compare VT_IN_ACT and VT_IN_DES |
| Faulty electric VVT relay or fuse | Skyactiv-G | Check the EVVT fuse, relay and voltage |
| Damaged wiring or terminals | All systems | Check connectors for corrosion, open and short circuits |
| Stretched, jumped or incorrectly installed chain | CX-7 and Skyactiv-G | Check CKP/CMP correlation and timing marks |
| CMP or CKP signal fault | All systems | Check related DTCs and sensor target areas |
| PCM failure | Rare | Consider only after the full procedure |
Where to start the diagnosis
1. Save the data before clearing the code
Record:
- current, pending and permanent DTCs;
- freeze frame data;
- engine temperature;
- engine speed;
- voltage;
- engine load;
- vehicle speed;
- target and actual camshaft timing, if your scan tool shows them.
If you clear the code before saving the freeze frame, the fault becomes harder to reproduce.
2. Identify the engine and VVT type
You need:
- the full VIN;
- the engine code;
- the market;
- the model year;
- whether the system uses an electric VVT motor or a hydraulic OCV.
“Mazda CX-7” or “2014 Mazda3” is not enough, because different engines need different checks.
3. Check related codes
| Code | Why it matters |
|---|---|
| P0010 | Valve timing control electrical circuit |
| P0016/P0017 | Crankshaft/camshaft position correlation |
| P0335 | Crankshaft position sensor signal |
| P0340 | Camshaft position sensor signal |
| P0300–P0306 | Misfires |
| P0524 and similar | Low engine oil pressure |
| P1380 | May affect the Mazda diagnostic procedure |
If P0010, P0335 or P0340 are present at the same time, diagnose them first. According to the Mazda procedure, they affect the reliability of the P0011/P0012 monitor.
4. Check the oil, based on the system type
On the CX-7 2.3 Turbo and other hydraulic systems, oil condition directly affects valve timing control.
On the Skyactiv-G electric intake VVT, the drive is electric. An oil change must not replace checking:
- the electric VVT power supply;
- the relay and fuse;
- the motor/driver;
- the electric actuator;
- actual and target timing.
You should still check the oil level, but do not promise that an oil change will fix P0011/P0012 on a Skyactiv-G engine.
5. Compare target and actual camshaft position
For Skyactiv-G engines, Mazda uses these parameters:
- VT_IN_DES: target intake camshaft timing;
- VT_IN_ACT: actual intake camshaft timing.
In the service procedure, warm up the engine, then raise the engine speed from idle to no more than 3,000 rpm five times, and check whether actual timing follows target timing.
If VT_IN_ACT matches VT_IN_DES, the actuator bulletin may not apply, and you continue with the service manual. If the values stay apart, check the electrical circuit, the motor/driver, the actuator and the mechanical timing.
Do not use one universal PID value for all models. The reference depends on the engine, temperature and operating mode.
6. Check the timing chain only after the initial tests
Reasons for a mechanical inspection:
- P0016/P0017 together with P0011/P0012;
- metallic noise;
- unstable CKP/CMP synchronisation;
- a large, steady deviation in actual timing;
- the code appeared after timing drive work;
- the electric drive or OCV works, but the camshaft does not follow the command.
P0011 or P0012 without these signs does not prove the chain is stretched.
Mazda CX-7 2.3 Turbo: specific procedure
Do not apply the Skyactiv-G electric VVT recommendations to the CX-7 2.3 Turbo. The practical sequence is different:
- Check oil level, condition and specification.
- Save the freeze frame and related DTCs.
- Check oil pressure.
- Check OCV power supply and operation.
- Check oil passages and system contamination.
- Check how the timing responds to the control command.
- Listen for chain noise and check CKP/CMP correlation.
- If there is reason to, inspect the chain, tensioner and S-VT actuator.
If P0012 appeared after a timing chain replacement, the key questions for the workshop are:
- Were the factory locking tools used?
- Were the crankshaft and camshafts aligned correctly?
- Was the actuator pre-installed correctly?
- Was the OCV left disconnected?
- Does actual timing follow the PCM command?
- Is the chain off by one tooth?
Replacing the chain again without these checks may not solve the problem.
Mazda Service Bulletin 01-007/15
Bulletin 01-007/15 does not cover every Mazda with P0011/P0012. It lists these North American vehicles:
- 2015 Mazda CX-5: JM3KE******439966–461449;
- 2014 Mazda3: JM1BM******177872–196206;
- 2015 Mazda6: JM1GJ******170533–177277.
Production period stated by Mazda: January 31 to March 21, 2014.
The repair section names the Skyactiv-G 2.0 and 2.5 engines. You cannot apply the bulletin automatically to a Mazda3 with the Skyactiv-G 1.5, even though the P0011/P0012 diagnostic procedure in another manual covers the 1.5, 2.0 and 2.5.
Mazda publishes the VIN ranges with six characters replaced by asterisks. To confirm the bulletin applies, check the full VIN and specification through the dealer system or the current Mazda service catalogue. A standard VIN decoder can identify the engine and model, but it does not always confirm whether a specific bulletin applies.
The cause described in 01-007/15 is fatigue damage to the VVT actuator spring shaft. If VT_IN_ACT does not match VT_IN_DES, the procedure calls for replacing both the electric actuator and the electric VVT motor/driver, not just clearing the code or replacing a sensor.
Official copy of the bulletin: SB-10105453-2532.pdf — Mazda Service Bulletin 01-007/15.
What to replace: sensor, actuator or chain
| Test result | More likely direction |
|---|---|
| P0010 present, no electric VVT power supply | Fuse, relay, wiring, motor/driver |
| VT_IN_ACT does not follow VT_IN_DES, power supply OK | Motor/driver or electric actuator |
| Code appeared after timing drive work | Valve timing, chain tension, actuator assembly |
| P0016/P0017 and mechanical noise | Chain, tensioner, mechanical timing |
| CX-7: timing does not respond to the OCV command | OCV, oil pressure, passages, S-VT actuator |
| P0335/P0340 present | Sensors, their wiring and target areas first |
| Code appears intermittently with vibration | Connectors, wiring, motor/driver contact |
| Code cleared but returned under the same conditions | Cause not fixed; analyse the freeze frame |
Why the code comes back after a repair
After an oil change
Oil may not have been the main cause, especially with the Skyactiv-G electric intake VVT.
After replacing the VVT valve
On Skyactiv-G engines, P0011/P0012 may relate to the electric intake camshaft drive, so replacing a hydraulic OCV does not fix an electric VVT fault.
After replacing the camshaft sensor
The CMP sensor reports camshaft position but does not move the camshaft. If the sensor signal was correct, a new sensor will show the same timing deviation.
After replacing the timing chain
Possible causes are incorrect valve timing, an actuator assembly error, a drive fault or an unchecked electric VVT power supply.
After replacing the actuator
Check the motor/driver, relay, power supply, wiring, connectors and mechanical installation. Bulletin 01-007/15 calls for replacing both the actuator and the motor/driver.
What to check when buying a Mazda with P0011/P0012
Before buying a used CX-7, Mazda3, Mazda6 or CX-5, check:
- current, pending and permanent DTCs;
- readiness monitor status;
- freeze frame data;
- oil level and condition;
- cold start behaviour;
- metallic noise in the first seconds after start-up;
- VT_IN_ACT and VT_IN_DES;
- whether P0016/P0017 are present;
- timing chain and cylinder head repair history;
- which bulletins apply to the full VIN;
- whether the installed engine and PCM match the factory specification.
Recently cleared codes with incomplete OBD monitors mean you should check again after a full drive cycle.
Can you diagnose it yourself?
A basic OBD-II adapter lets you:
- read P0011/P0012;
- save the freeze frame;
- see related codes;
- check monitor status.
Not all generic scan tools show Mazda enhanced parameters such as target and actual timing. For a full diagnosis you need equipment that supports Mazda enhanced data, or M-MDS.
For wiring diagrams of the electric VVT and OCV circuits, ECU pinouts and DTC setting conditions for supported Mazda models, see MotorData Professional. Details are in MotorData features and plans and pricing.
Quick answer
- P0011: the intake camshaft is more advanced than commanded.
- P0012: the intake camshaft is more retarded than commanded.
- On the CX-7 2.3 Turbo, start with oil, oil pressure, the OCV, the hydraulic S-VT and the chain.
- On Skyactiv-G, first check the electric intake VVT: power supply, relay, motor/driver, actuator and VT_IN_ACT/VT_IN_DES.
- Bulletin 01-007/15 applies only to the listed models, VINs and Skyactiv-G 2.0/2.5 engines.
- Do not buy a chain, sensor or valve based only on the code number.
Frequently asked questions
Will an oil change help?
On a hydraulic S-VT system it may, if the cause was oil level, viscosity or contamination. On the Skyactiv-G electric intake VVT, an oil change does not replace diagnosing the drive and electrical system.
Does P0012 always mean a stretched timing chain?
No. Other possible causes are a faulty actuator, motor/driver, relay, wiring, OCV or sensors, or incorrect valve timing.
Should I replace the camshaft sensor straight away?
No. First check for P0340, the CMP signal and wiring, and whether actual timing matches target timing.
Does Bulletin 01-007/15 apply to the Mazda3 1.5?
The repair procedure lists the Skyactiv-G 2.0 and 2.5. Do not apply it to the 1.5 without confirmation from Mazda.
Why does a Skyactiv-G engine have both electric and hydraulic VVT?
The electric drive controls the intake camshaft and the hydraulic system controls the exhaust camshaft. This allows valve overlap to be adjusted, but you need to tell the two systems apart during diagnosis.
Does the PCM need programming after the repair?
Do not assume the PCM needs updating or replacing without a model-specific procedure or a separate bulletin. In standard diagnosis, the PCM is considered only after the wiring, drive, sensors and chain have been checked.
Other Mazda trouble code guides
- Mazda trouble codes: meanings, causes and diagnostic guide
- Mazda P0171: system too lean, Bank 1
- Mazda P0300–P0306: random and cylinder-specific misfire
- Mazda P0420/P0421: catalyst efficiency below threshold
- Mazda P0401 Skyactiv-D 2.2: insufficient EGR flow
- Mazda P0741: torque converter clutch performance or stuck off





