# P0012: "A" Camshaft Position - Timing Over-Retarded (Bank 1)

**Verdict:** Drive to a shop this week

Camshaft timing - Generic OBD-II code, applies to all gasoline cars and light trucks sold in the US since 1996.

- **Typical cost:** $80-$3,000
- **Urgency:** This week
- **Most likely:** Low or dirty oil, or the intake cam solenoid
- **DIY?:** Steps 1-2

## Quick answer

P0012 means the engine computer found the bank 1 "A" camshaft, the intake cam on most engines, sitting later (more retarded) than it should. The variable valve timing system could not bring it back to where it was told. Low or dirty oil, a sticking cam timing solenoid or a stretched timing chain are the usual causes.

## What does P0012 mean?

Variable valve timing lets the engine computer shift when the valves open. An oil control solenoid steers engine oil into a cam phaser, a hydraulic coupling on the end of the camshaft, which twists the cam ahead (advance) or back (retard) of its base position. Under SAE J2012, "A" means intake, left or front, so on most engines P0012 concerns the intake cam. Bank 1 is the side of the engine with cylinder 1; on an inline four it is the whole engine.

P0012 sets when the actual cam angle is later than the computer expects, by more than a calibrated amount, for a set time. Some makers run the check at startup or idle, when the phaser should be resting against its stop, and others when the computer commands advance and the cam fails to follow. Many set the code after two trips. It is the opposite of P0011, which flags the same cam sitting too far advanced.

## What are the symptoms of P0012?

- Check engine light on
- Rough or shaky idle, sometimes with stalling
- Sluggish acceleration, especially at low and mid RPM
- Rattle or ticking from the front of the engine at startup
- Slightly worse fuel economy

## What causes P0012?

Ranked from most to least likely. Check them in this order: the cheap, common causes first.

1. **Low, dirty or wrong-grade engine oil** (most common). The phaser needs a steady supply of clean oil at the right pressure to move and hold the cam. When the oil is low, sludged, or thicker or thinner than specified, the phaser lags and the cam stays late. Engines that burn oil or go long between changes are most at risk. Check the dipstick before anything else.
2. **Sticking intake cam timing solenoid** (common). Debris or varnish can jam the spool valve inside the oil control solenoid so it cannot send oil to the advance side of the phaser. The coil may still measure fine with a meter, so an electrical check alone can miss it. Commanding the solenoid with a scan tool and watching actual cam angle shows whether it responds.
3. **Stretched timing chain or jumped belt** (common). A worn chain grows longer and lets the camshaft fall behind the crankshaft, which looks to the computer like an over-retarded cam. A belt that has skipped a tooth does the same. It is most likely on high-mileage engines with a poor oil change history. A startup rattle and a correlation code such as P0016 point here.
4. **Worn or sticking cam phaser** (less common). Inside the phaser, worn seals or vanes leak oil, and a locking pin that does not release can hold the cam at its retarded rest position. Phasers often clatter briefly at a cold start when they begin to fail. Replacing one usually means working in the timing cover area, so it costs much more than a solenoid.
5. **Clogged oil screen feeding the solenoid** (rare). Some engines have a small filter screen in the oil passage that feeds the cam solenoid. Sludge, or debris shed after engine work, can block it and starve the phaser even with good oil in the pan. It is usually found when the solenoid is removed for inspection, and cleaning or replacing the screen is inexpensive.

## How do you diagnose P0012?

1. Check the oil level and condition, and note when it was last changed and which grade was used.
2. Read all stored codes; P0012 with P0016 or a startup rattle suggests chain stretch, while P0012 alone points to oil or the solenoid.
3. On a scan tool, compare desired and actual intake cam angle while the computer, or a bi-directional tool, commands advance.
4. Remove the solenoid and check it and any oil screen for sludge, debris or a sticking valve.
5. If oil and solenoid check out, measure timing chain stretch or check the timing marks before replacing the phaser.

## How do you fix P0012, and what does it cost?

| Fix | Typical cost | What it involves |
| --- | --- | --- |
| Oil and filter change with the correct grade | $80-$150 | The cheapest first step when the oil is low, old or the wrong grade. |
| Replace intake cam timing solenoid | $150-$450 | Usually bolts into the cylinder head or timing cover with easy access. |
| Replace cam phaser or timing chain kit | $900-$3,000 | Needed when the phaser is worn or the chain has stretched; labor varies widely by engine. |

Full price breakdowns: [oil change cost](/cost/oil-change), [timing chain replacement cost](/cost/timing-chain-replacement).

## Is it safe to drive with P0012?

> **Drive to a shop this week.** Usually safe for short, gentle trips while you arrange a diagnosis, but check the oil level today. If you hear a loud rattle, the engine stalls repeatedly or the light flashes, park it, because a failing chain can jump teeth and damage the engine.

## Will P0012 fail an emissions test?

P0012 keeps the check engine light on, so the car fails an OBD-II emissions test in most states. Cam timing that is too late can also raise emissions and upset other monitors. Clearing the code right before a test does not help, because the readiness monitors reset and need several days of normal driving to report ready again.

## After the repair: clearing P0012

Clear the code once the repair is done, then drive several trips that include a cold start, idling and some steady cruising. On a scan tool, actual intake cam angle should track the desired angle closely when the computer commands advance. No pending code after a few days means the fix worked. If it returns quickly, look at the chain or phaser.

## How to prevent P0012

- Change oil and filter on time with the exact grade and specification in the owner's manual.
- Check the dipstick monthly, especially on engines known to burn oil between changes.
- Avoid stretching oil change intervals if you mostly make short trips or idle a lot.
- Have a startup rattle from the timing area checked before it turns into chain damage.
- Use quality oil filters, since a poor filter can pass debris that jams the cam solenoid.

## Codes often seen with P0012

- [P0011](/codes/p0011): "A" Camshaft Position - Timing Over-Advanced or System Performance (Bank 1)
- [P0010](/codes/p0010): "A" Camshaft Position Actuator Circuit (Bank 1)
- [P0014](/codes/p0014): "B" Camshaft Position - Timing Over-Advanced or System Performance (Bank 1)
- [P0015](/codes/p0015): "B" Camshaft Position - Timing Over-Retarded (Bank 1)
- [P0016](/codes/p0016): Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor A)
- [P0021](/codes/p0021): "A" Camshaft Position - Timing Over-Advanced or System Performance (Bank 2)

## Frequently asked questions

### Can I drive with a P0012 code?

Yes, for short, gentle trips in most cases, but check the oil first. The engine may idle rough and feel weak at low speed. Stop driving and have it towed if you hear a loud rattle from the timing chain area, the engine stalls repeatedly, or the check engine light starts flashing.

### What is the most common cause of P0012?

Low, dirty or wrong-grade engine oil is the most common cause of P0012. The cam phaser relies on oil pressure to move the intake cam, so poor oil leaves it stuck late. A sticking cam timing solenoid is the next most likely cause, followed by a stretched timing chain on high-mileage engines.

### How much does it cost to fix P0012?

Most P0012 repairs cost $80 to $3,000 at an independent shop. An oil change runs $80 to $150 and an intake cam solenoid $150 to $450. A cam phaser or timing chain job costs $900 to $3,000, depending on the engine, so rule out the cheap causes first.

### Will an oil change fix P0012?

An oil change often fixes P0012 when the oil was low, overdue or the wrong grade. Use the exact viscosity listed in your owner's manual, clear the code and drive normally for several days. If the code comes back, the solenoid, the phaser or the timing chain needs testing next.

### What is the difference between P0011 and P0012?

P0011 means the bank 1 intake cam is too far advanced or not following commands, while P0012 means it is too far retarded. Both involve the same solenoid, phaser and oil supply. A retarded reading also makes a stretched timing chain more likely, because chain wear lets the cam fall behind.

### Can I fix P0012 myself?

You can handle the first steps yourself, such as checking and changing the oil and swapping an easy-to-reach intake cam solenoid. Many solenoids come out with one bolt and a connector. Phaser and timing chain work needs special locking tools and exact timing, so that part is usually a shop job.

### Can a bad cam solenoid cause P0012?

Yes, a cam timing solenoid stuck in the wrong position is a common cause of P0012. If its valve cannot send oil to the advance side of the phaser, the cam stays retarded. A shop can command the solenoid with a scan tool and watch whether the cam angle actually changes.

### Is P0012 serious?

P0012 is moderately serious. The engine usually keeps running, but power, idle quality and fuel economy suffer. The bigger risk is the cause: very low oil or a stretched timing chain can lead to major engine damage if ignored. Have it diagnosed within a week or two.

### Can a stretched timing chain cause P0012?

Yes, a stretched timing chain can cause P0012 because the extra length lets the camshaft lag behind the crankshaft. The computer then sees the intake cam later than expected. Chain stretch usually comes with a startup rattle and often sets correlation codes such as P0016 at the same time.

### Why does P0012 come back after replacing the solenoid?

P0012 usually returns because the real problem was the oil supply, the phaser or the timing chain, not the solenoid. A clogged oil screen can also starve a new solenoid. Check oil condition, look for sludge, and have the cam angle and chain stretch measured before replacing more parts.

## Sources

- [SAE J2012: Diagnostic Trouble Code Definitions](https://www.sae.org/standards/content/j2012_201812/)
- [EPA: On-Board Diagnostics (OBD)](https://www.epa.gov/state-and-local-transportation/vehicle-emissions-board-diagnostics-obd)
- [fueleconomy.gov: Keeping your vehicle in shape](https://www.fueleconomy.gov/feg/maintain.jsp)

## Other camshaft timing codes

- [P0010 "A" Camshaft Position Actuator Circuit (Bank 1)](https://diagxcar.com/codes/p0010)
- [P0011 "A" Camshaft Position - Timing Over-Advanced or System Performance (Bank 1)](https://diagxcar.com/codes/p0011)
- [P0013 "B" Camshaft Position Actuator Circuit (Bank 1)](https://diagxcar.com/codes/p0013)
- [P0014 "B" Camshaft Position - Timing Over-Advanced or System Performance (Bank 1)](https://diagxcar.com/codes/p0014)
- [P0015 "B" Camshaft Position - Timing Over-Retarded (Bank 1)](https://diagxcar.com/codes/p0015)
- [P0016 Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor A)](https://diagxcar.com/codes/p0016)
- [P0017 Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor B)](https://diagxcar.com/codes/p0017)
- [P0018 Crankshaft Position - Camshaft Position Correlation (Bank 2 Sensor A)](https://diagxcar.com/codes/p0018)
- [P0019 Crankshaft Position - Camshaft Position Correlation (Bank 2 Sensor B)](https://diagxcar.com/codes/p0019)
- [P0021 "A" Camshaft Position - Timing Over-Advanced or System Performance (Bank 2)](https://diagxcar.com/codes/p0021)

## Symptoms

- [Why is my car idling rough?](https://diagxcar.com/symptoms/rough-idle)
- [Why does my car stall while driving?](https://diagxcar.com/symptoms/car-stalls-while-driving)
- [Why does my car hesitate when I accelerate?](https://diagxcar.com/symptoms/car-hesitates-when-accelerating)

## Repair costs

- [Oil change cost](https://diagxcar.com/cost/oil-change): $45-$150
- [Timing chain replacement cost](https://diagxcar.com/cost/timing-chain-replacement): $1,200-$3,500

---

Source page: https://diagxcar.com/codes/p0012
Updated: 2026-11-03
General information, not a substitute for a qualified mechanic.
