Skip to content
Skanyx
DTC/P0021·BMW

P0021 on BMW: Causes, Symptoms and Fix Cost

Quick Answer
Moderate SeveritySafe to drive (short-term)BMW

P0021 on a BMW means the intake camshaft on bank 2 is positioned more advanced than the ECU commanded it to be. The variable valve timing system on bank 2 is not responding correctly, typically due to oil flow issues, a faulty bank 2 VVT solenoid, a stretched timing chain, or a worn cam phaser. The code only appears on V6, V8, V10, and V12 engines.

Typical repair cost, all makes€60 - €6000

Connect any standard Bluetooth OBD2 adapter to your BMW and Skanyx tells you what P0021 means on that engine, whether it is safe to keep driving, and what the fix should cost. Free on iPhone and Android.

Get Skanyx free

What does P0021 mean on a BMW?

The Quick Answer above is the generic definition. What follows is the model-specific detail for the BMW models that log P0021.

BMW 3 Series

2005-2024

P0021 on a BMW 3 Series implies a V8 model: the M3 with the S65 V8. The S65 has known VANOS solenoid failures on both banks at high mileage. VANOS solenoid replacement is the typical fix at 300 to 500 EUR per side.

What causes P0021 on a BMW?

Beyond the generic causes listed on the main P0021 page, these are the patterns noted for BMW models:

BMW 3 SeriesM3 E90/E92 S65 V8 bank 2 VANOS solenoid failure
BMW 3 SeriesAged bank 2 VANOS seals on high-mileage S65 engines

How to diagnose P0021 on a BMW with OBD2

Follow these steps to pinpoint the root cause of P0021:

  1. Check engine oil level and condition. Low, dirty, or wrong-viscosity oil is the most common cause of P0021. Use only the manufacturer-specified oil approval and change if overdue
  2. Use a scan tool to monitor live cam phasing data on bank 2. Compare the actual versus commanded intake cam advance angle. Deviations over 5 to 10 degrees confirm a real timing fault
  3. Locate the bank 2 intake VVT solenoid (typically on the bank 2 valve cover or front of the bank 2 cylinder head). Measure resistance (6 to 13 ohms typical) and inspect the mesh filter screen for sludge
  4. Listen for cold-start rattle from the bank 2 side of the engine. A timing chain rattle on bank 2 specifically points to chain or tensioner wear on that bank
  5. If the oil and solenoid are good, suspect timing chain or guide wear. A workshop will need to remove the bank 2 valve cover for inspection, or check timing chain wear with a service tool

How much does P0021 cost to fix on a BMW? (EUR)

Estimated repair costs for P0021 in EUR, compiled across makes. Expect BMW parts and labour towards the upper end of each range.

Repair Parts Cost Labor Cost Total Estimate DIY Difficulty
Engine oil and filter change €40–€100 €20–€50 €60–€150 Easy
Replace bank 2 VVT solenoid €80–€300 €60–€200 €140–€500 Moderate
Replace timing chain kit on V-engine €800–€3000 €800–€3000 €1600–€6000 Professional

Prices estimated as of March 2026. Costs vary by region, vehicle, and shop.

These codes are often seen alongside P0021 or point to related issues, on any make:

Looking for the full P0021 reference (all makes, full diagnosis flow, complete repair cost matrix)?

See the main P0021 guide
Skanyx · BMW

Diagnose P0021 on your BMW

Your car logged P0021. Skanyx reads it on any standard Bluetooth OBD2 adapter, tells you whether it is safe to keep driving, and shows the €60-€6000 repair range so you know the number before a shop quotes you. Free on iPhone and Android, and you do not need to be a mechanic to read it.

Get Skanyx free