Air & Fuel Mixture ControlOBD2 Codes

P0021 – Meaning, Causes, Symptoms, & Fixes

What Does Code P0021 Mean?

  • P0021 definition: Intake Camshaft Position Timing- Over-Advanced (Bank 2)
  • Issue Severity: MODERATE– Extended driving with this code can cause internal engine damage.
  • Repair Urgency: Get this code fixed as soon as possible.
  • Diagnosis: This trouble code will not prevent your vehicle from running. However, if left unsolved, this code could cause your vehicle to experience decreased power and fuel economy. It could also cause your vehicle to fail emissions testing.

Find a Certified Shop

We've partnered with RepairPal to recommend trustworthy shops in your area. Enter your details to see certified shops near you that offer upfront estimates, guaranteed fair pricing, and a minimum 12-month, 12,000-mile warranty.

The variable valve timing system increases fuel economy and engine performance by regulating when the intake and exhaust valves are opened and closed. The camshaft(s) is(are) adjusted by the ECM through the use of an oil control valve(s) (OCV) also called variable valve timing control solenoid valves. When trouble code P0021 is set, it means that the intake camshaft in Bank 2 is more advanced than the ECM has told it to be.

P0021 Causes

  • Engine oil is dirty
  • Engine oil is too low
  • Engine oil is incorrect viscosity
  • Camshaft variable valve timing control solenoid failure
  • Camshaft phaser is seized in the advanced position
  • Continuous oil flow to Variable Camshaft Timing chamber

P0021 Symptoms

  • Check Engine Light
  • The hard start of the engine
  • Rough running engine
  • Stalling
  • Rattling/Knocking from engine
  • Decreased fuel economy
  • Failed emissions test

How Do I Fix Code P0021?

With a P0021 code, the first step is to get it properly diagnosed to figure out what is causing the malfunction with the camshaft position sensor. Using the live data function of the FIXD sensor and app allows you to read and analyze engine data to properly diagnose a P0021 code.

If the sensors are all reading correctly and you’re not comfortable further diagnosing this issue at home, we recommend finding a RepairPal-certified shop to pinpoint the problem and give an accurate estimate for repairs. 

These shops can not only help you figure out what’s going wrong before you waste time and money on the wrong parts, but they also offer a minimum 12-month, 12,000-mile warranty and stand behind all their estimates with guaranteed fair pricing.

> Find a RepairPal Certified Shop Near You

How Much Does It Cost to Fix Code P0021?

If you take your car to a shop for diagnosis, most shops will start with an hour of “diag time” (the time spent in labor diagnosing your specific issue). Depending on the shop’s labor rate, this typically costs somewhere between $75-$150. Many, if not most, shops will apply this diagnosis fee to any required repairs if you have them perform the repairs for you. From there, a shop will be able to give you an accurate estimate for repairs to fix your P0021 code.

Right shop, right price

We've partnered with RepairPal to recommend certified and trustworthy shops in your local area. 

  • Upfront cost estimates
  • Minimum 12-month, 12,000-mile warranty
  • Fair price guarantee

Possible Repair Costs for P0021

When it comes to making repairs associated with the P0021 code, one or more of the below repairs may be needed to solve the underlying issue. For each possible repair, the estimated cost of repair includes the cost of the relevant parts and the cost of labor required to make the repair. 

  • Oil Change $20-$60
  • Oil Control Valve/Variable Valve Timing Control Solenoid $300-$400
  • Engine $3000-$4000

DIY Steps to Diagnose Code P0021

If you’d like to try to fix code P0021 at home without throwing money at parts, you’ll want to follow the steps below for proper diagnosis. Complete diagnosis may require some specialized equipment beyond what the FIXD Sensor can provide, but for the most part, this diagnosis and repair can be attempted by beginner DIYers. 

DIY difficulty level: Intermediate

This repair requires mechanical knowledge and is not recommended for beginners.

Tools/parts needed (our top picks from Amazon):

  • FIXD
  • Digital multimeter

Use FIXD to check if there are any other codes along with P0020.


Check the engine oil level and condition. If it’s low, adjust to spec and test drive to see if the concern is resolved. If it’s dirty, change the oil and filter and test drive to see if the concern is resolved. Remove the oil cap and/or the valve cover and inspect the valve train for sludge. If there is sludge, there is a good chance the engine will need to be replaced due to sludge blocking the oil passages to the Oil Control Valve(s)


If there isn’t any sludge, consider checking the Bank 2 Intake Camshaft Oil Control Valve for proper function. You can do this by removing the Oil Control valve and supplying power and ground to the solenoid quickly using a pair of fused jumper wires. (Do not leave power applied for more than a second or two) If the valve is functioning properly it should click, and you may even be able to see the valve move based on the design of your specific valve. If it doesn’t click or move, replace the tested oil control valve and test drive to see if the concern is resolved. 


If at this point the vehicle is still setting the same code, you may have a more serious problem with your car’s oxygen sensor system, and you should bring the vehicle to a certified shop to have further diagnostic work performed.  

Common P0021 diagnosis mistakes

Replacing sensors or components without any indication of a problem with the sensors or components.

Still Need Help Fixing Code P0021?

If you’ve followed the steps above and are still experiencing issues with the oxygen sensor system and code P0021, please contact the FIXD Mechanic Hotline if you’re a FIXD Premium subscriber or find a RepairPal certified shop near you to get the right repairs at a fair price.


Lifelong automotive enthusiast with a soft spot for offroading. Wrencher turned writer, but I still love to tinker on just about anything with an engine. Dream car: tie between a ‘71 Hemi ‘Cuda and a ’91 GMC Syclone. #GirlDad #SaveTheManuals

Jeffrey N. Ross
Lifelong automotive enthusiast with a soft spot for offroading. Wrencher turned writer, but I still love to tinker on just about anything with an engine. Dream car: tie between a ‘71 Hemi ‘Cuda and a '91 GMC Syclone. #GirlDad #SaveTheManuals

You may also like


  1. Alright very good information

  2. Love this site very helpful

    1. Thanks Denny! Glad we can help!

      FIXD Team

  3. I have a Ford expedition 2007 5.4 engine has codes p0021,p0011 plus p0240 truck runs fine but sometimes when i try to accelerate quick truck stalls any ideas?thanks in advance.

    1. Victor I have this same problem what did you do to fix it ?

  4. Getting yearly check up next week on 2004 Cayenne, will ask them to check this issue

    Thank you

  5. I have the code p0021,I have recently changed out both camshaft sensors bank 1 and 2,the crankshaft position sensor. It will start and drive without any problems, but when I shut it off and try and start it again, it will crank but won’t start.ill try again after an hr and it will start right up and drive. This is a 2003 Infiniti g35 sedan

    1. I have a 2003 Infiniti g35 sedan. A code p0021 is showing on my ob2 reader. The problem is it will cold start and drive with no issues,but when I turn it off and try and restart it will only crank and not start. I’ll try again in about an hour and it starts right up and drives fine. I just replaced camshaft sensors bank 1 and 2 and the crankshaft position sensor as well

  6. Recently got an oil change on a 2004 Nissan quest. Didn’t have this issue before hand. It appears they put 5 quarts of oil in, but it says it only takes 4.2. couple this be the cause and if so, would taking some out fix it?

  7. Very helpful ilike your page

    1. Thank you, David! We appreciate that. 🙂

  8. The mechanic said, “since the car is running so well, it must be a flaky sensor that makes the check engine light come on – pay no attention to it!” Sometimes the check engine light goes off by itself and stays off for weeks at a time then comes back on.

  9. I have 2010 nissan maxima, I’ve replaced all 4 camshaft position sensors which I got from nissan parts store ,both variable timing solenoids ,cleared the codes, but the next day I test drove the car and the engine check light came on ,went got a code read and it read code p0021, please can you help me

Leave a reply

Your email address will not be published.