This post contains affiliate links.
A P0011 P0021 code tells you the engine’s computer asked the camshaft to move to a certain position and it did not go there. On most engines this points at the variable valve timing system: the oil control solenoid, the cam phaser it feeds, or simply the engine oil that makes the whole thing work. The good news is that the cheapest cause is also the most common one. Here is what these codes mean, how to test the system, and when the repair has moved beyond DIY territory.
What P0011 and P0021 actually mean
Both codes describe the same fault on opposite sides of the engine:
- P0011 — “A” Camshaft Position, Timing Over-Advanced or System Performance, Bank 1
- P0021 — the identical fault on Bank 2
Bank 1 is the side containing cylinder number one; Bank 2 only exists on V6, V8 and flat engines. On an inline-four — most Civics, Accords, Corollas and CR-Vs — there is no Bank 2, so you should only ever see P0011. A P0021 on a four-cylinder usually means the scanner pulled a description from the wrong database, so re-read it with a different tool before buying parts.
The “A” refers to the intake camshaft on most engines. Over-advanced means the camshaft sits further ahead of its commanded position than the computer will tolerate — usually because the phaser is stuck or oil pressure is holding it somewhere it shouldn’t be.
How the system works in plain terms
Variable valve timing is hydraulic. The engine computer pulses an oil control solenoid, which meters pressurized engine oil into a cam phaser (Honda calls it the VTC actuator) bolted to the end of the camshaft. Oil pressure rotates the phaser a few degrees relative to the timing chain, advancing or retarding valve timing on the fly. A camshaft position sensor reports the actual position back, and the computer compares commanded against actual. When those numbers disagree for long enough, you get P0011 or P0021.
That is why dirty oil causes this code so often: sludge closes the solenoid’s fine mesh screen long before anything mechanical wears out.
Honda VTC: what makes it different
Honda’s version, VTC, is part of the i-VTEC system and adjusts the intake camshaft continuously. On K-series and R-series engines the VTC oil control solenoid sits on the front of the cylinder head near the timing chain end, held on by a couple of small bolts.
Honda owners often notice a short rattle for a second or two on a cold start, which frequently traces back to the VTC actuator failing to hold its locked position until oil pressure builds. If your engine does this, ask a Honda dealer whether any service bulletin applies to your VIN before paying for the repair yourself.
Symptoms you’ll notice
- Check engine light on, usually steady rather than flashing
- Rough or unstable idle
- Hesitation or a flat spot when accelerating
- Reduced power, especially at higher rpm
- Worse fuel economy
- A brief rattle from the front of the engine on cold start
Tools and materials you’ll need
- OBD2 scanner that displays live data and freeze frame (not just code numbers)
- Digital multimeter
- Metric socket set and ratchet — the solenoid bolts are commonly 10 mm
- Torque wrench that reads in the inch-pound range
- New solenoid gasket or O-ring for your engine
- Fresh engine oil and filter in the viscosity your owner’s manual specifies
- Drain pan, shop towels, a parts-safe solvent, and a small soft brush for the solenoid screen
- Nitrile gloves and safety glasses
- Jack and jack stands if you need to reach the drain plug
Safety first
Let the engine cool before you start. Hot engine oil causes serious burns, and the exhaust manifold sits close to the front of the head on many of these engines.
Disconnect the negative battery terminal before unplugging or testing the solenoid connector. You are working on a live circuit driven by the engine computer, and a slipped probe can short a driver circuit that costs far more than the solenoid.
Never crawl under a vehicle held up by a jack alone. Use jack stands on a level, hard surface.
Do not keep driving if the engine is rattling, knocking, or showing an oil pressure warning. Those symptoms suggest the problem is mechanical or that oil pressure is genuinely low, and continuing to drive risks destroying the engine.
Step-by-step diagnosis and repair
1. Read the codes and save the freeze frame
Record every stored code, not just P0011 or P0021. Freeze frame data shows engine temperature, rpm and load when the fault set — a code that only appears on a cold engine points at the phaser or oil, while one that sets under load points more at the solenoid or oil supply. If a camshaft or crankshaft sensor code is also stored, fix that first; a bad position signal triggers a timing fault on its own.
2. Check the oil before touching a single bolt
Pull the dipstick and check both level and condition. Oil that is low, black, gritty, or the wrong viscosity is the single most common cause of these codes — the phaser simply cannot move without clean oil at the right pressure.
3. Change the oil and filter, then retest
If the oil is anything less than clean and at the correct level, change it and the filter using the exact viscosity in your owner’s manual — not a heavier grade to quiet the engine. Clear the code, drive normally for a few days, and see whether it returns; a surprising share of these repairs end right here. Our guide to oil change intervals and choosing the right oil covers confirming the correct grade.
4. Inspect the wiring and connector
With the battery disconnected, unplug the solenoid connector and look for green corrosion, spread or pushed-back terminals, oil wicked into the connector body, and chafed insulation where the harness passes near the head. Repair anything you find before condemning parts.
5. Test the solenoid electrically
Set your multimeter to ohms and measure across the solenoid’s two terminals, then compare the reading to your service manual’s specification — the correct figure varies by manufacturer, so use the manual rather than a number from a forum. An open circuit reading infinite resistance, or a dead short reading near zero, means the solenoid has failed internally.
6. Remove and clean the solenoid and its screen
Unbolt the solenoid and withdraw it straight out so you do not tear the O-ring or drop bolts into the timing cover. On the back is a fine mesh filter screen — hold it up to a light, and if it is packed with sludge or metallic glitter you have found your problem. Clean the screen and the solenoid body thoroughly in solvent and let it dry completely. Metal flakes there signal internal wear and deserve a professional look.
7. Reinstall with a new seal and correct torque
Fit a fresh gasket or O-ring, lightly oil it, and slide the solenoid home without forcing it. These bolts thread into aluminum and need very little torque — use an inch-pound wrench and the manual’s figure. Overtightening strips the threads and turns a small job into a large one.
8. Verify with live data on a road test
Clear the codes and watch commanded camshaft position against actual camshaft position while driving. They should track each other closely. A large, persistent gap after a clean solenoid and fresh oil means the fault is mechanical — a worn phaser, a stretched timing chain, or a tired tensioner letting cam timing drift.
Common mistakes to avoid
- Buying a solenoid before changing the oil. It is the most frequent wasted purchase on this code.
- Cleaning the solenoid but ignoring the screen. The screen is usually the actual restriction.
- Using a heavier oil to mask a noise. Thicker oil moves through the phaser passages more slowly and can cause the very code you are chasing.
- Confusing P0011 with P0010. P0010 is an electrical circuit fault in the actuator control; P0011 is a performance fault meaning the timing itself is wrong. They call for different tests.
- Assuming P0021 applies to a four-cylinder. With no Bank 2, that code is almost always a tool or database error.
- Skipping the timing chain check. If the solenoid and oil are good, a stretched chain is the next suspect and it will not fix itself.
Frequently asked questions
Can I drive with a P0011 or P0021 code?
Short, gentle trips are usually tolerable if the engine runs smoothly with no rattle, knock, or oil pressure warning. But the cause may be low oil pressure or a stretched timing chain, either of which can destroy an engine. Diagnose it within days, not months, and stop driving immediately if you hear new noises.
Will an oil change fix P0011?
Often, yes — when the oil is old, low, sludged, or the wrong viscosity. The system is hydraulic, so clean oil at the correct grade restores its ability to move the phaser. If the code returns after a proper oil and filter change, move on to the solenoid and its screen.
What is the difference between P0011 and P0340?
P0340 means the computer gets no usable signal from the camshaft position sensor. P0011 means the signal is fine but the camshaft is not where it was told to be. A sensor fault can mimic a timing fault, so repair a stored P0340 camshaft position sensor code before chasing P0011.
How much does it cost to fix?
Costs vary widely by vehicle, engine and region. An oil and filter change is the cheapest possible outcome. A VVT or VTC oil control solenoid is generally an inexpensive part with about an hour of labor. A cam phaser, timing chain or tensioner replacement is far more involved and can run into many hours of labor — which is exactly why diagnosing in the order above matters. Confirm prices with a local shop before authorizing work.
When to call a professional
Hand this one over if you find metal particles in the solenoid screen, if the code persists after clean oil and a known-good solenoid, if the engine rattles or knocks beyond a brief cold-start noise, or if live data still shows a large gap between commanded and actual camshaft position. Those point toward the timing chain, tensioner or phaser — jobs requiring precise engine timing, where a mistake means bent valves rather than a code. A shop with a factory-level scan tool can also command the solenoid directly and watch the response, settling the diagnosis quickly.