Go-Parts
Cart 0
Your cart is empty
Add an item to see it appear here.
Wrenchy
Go-Parts Garage
Expert guides for diagnosing, troubleshooting, and replacing auto parts Expert guides for diagnosing and replacing auto parts
Browse All →
🎬 Helpful Videos 🛍️ Shop This Part

P0021 on 2014-2021 Subaru Forester: Causes and Fixes for Camshaft Timing

On a 2014-2021 Subaru Forester, code P0021 is most often caused by low or dirty engine oil, or a failing oil control valve (OCV) on the driver's side (Bank 2). An oil change or a new OCV (part numbers 10921AA231, superseded by 10921AA23B) is the most common fix. This is a DIY-friendly repair, often costing under $150.

16 minutes to read 2014-2021 Subaru FORESTER
Most Likely Cause
Low or Dirty Engine Oil
Difficulty
2/5
Est. Time
1 hrs
DIY Doable?
✅ Yes
Shop Labor
$100 – $350
Parts Price
$40 – $150
⚠️ Drivable, but... — You can drive, but it's not recommended for long. Continued driving can lead to rough idling, stalling, poor fuel economy, and potential long-term damage to the engine or catalytic converter. The vehicle may enter a 'limp mode,' disabling cruise control and traction control as a safety precaution.
Key Takeaways
  • P0021 on a 2014-2021 Forester means the driver's side intake camshaft timing is too far advanced.
  • Before buying any parts, check your oil level and quality. An oil change is the most common and inexpensive fix.
  • The second most likely culprit is a faulty Oil Control Valve (OCV) on the driver's side, which is a straightforward DIY replacement.
  • Swapping the driver's and passenger's side OCVs is the best way to confirm if the valve is bad before spending money.
  • Ignoring this code can lead to poor performance, bad fuel economy, and potential engine damage over time.
P0021 stands for "'A' Camshaft Position – Timing Over-Advanced or System Performance (Bank 2)". On your Subaru Forester's boxer engine, Bank 2 is the driver's side. This code means the Engine Control Module (ECM) has detected that the intake camshaft on the driver's side is more advanced than it's supposed to be. This is a problem with the Active Valve Control System (AVCS), Subaru's name for variable valve timing, which relies on oil pressure to function.

What's Unique About the 2014-2021 Subaru FORESTER

Engine bay of a 2014-2021 Subaru Forester showing the 2.5L FB25 boxer engine layout.
The FB25 boxer engine in the 2014-2021 Forester relies heavily on clean oil for its Active Valve Control System (AVCS) to function properly.

The P0021 code on a Subaru Forester is specific to the driver's side of its horizontally-opposed (boxer) engine. The AVCS system is highly dependent on oil pressure and cleanliness to function correctly. Given that some FB-series engines can consume oil, running low on oil is a very common trigger for this code. Unlike older Subaru turbo engines where banjo bolt filters were a notorious failure point, the oil screen for the OCV on the FB25 is less of a common failure point but can still get clogged from infrequent oil changes. Many technicians advise removing these small filters if they are found to be clogged to prevent future issues.

Diagnostic Flowchart

A mechanic using a digital multimeter to test the electrical resistance of an Oil Control Valve.
Testing the Bank 2 Oil Control Valve's resistance is a crucial step. A healthy valve should read between 6.9 and 7.9 ohms.
🎬 See this video for a deep dive into AVCS timing problems.

Tap your situation to follow the diagnostic path that matches what you're seeing on this vehicle.

What is the condition of your engine oil and Oil Control Valve?
→ Perform an oil change with 0W-20 synthetic oil ($40-$80). The FB25 engine consumes oil, which starves the AVCS system and triggers P0021.
What happens when you swap the driver's side valve with the passenger's side?
→ Replace the Bank 2 Oil Control Valve (part 10921AA23B, $70-$150) and use a new O-ring (part 806944060).
→ Test the valve's resistance (should be 6.9-7.9 ohms). If good, inspect the small mesh filter screen in the oil passage for sludge.
→ Replace the Bank 2 Oil Control Valve ($70-$150). Ensure you use a new O-ring (part 806944060) and gasket (part 16677AA040) to prevent leaks.
Have you checked the valve's mesh filter and the camshaft position sensor?
→ Inspect and clean the mesh filter screen. If clean, swap the Bank 2 camshaft position sensor ($40-$90) with Bank 1 to test.
→ Seek professional diagnosis for the timing chain, tensioner, or AVCS cam sprocket as outlined in Subaru TSB 02-132-12R.

Generation note: This range covers the fourth generation (SJ, 2014-2018) and the fifth generation (SK, 2019-2021) of the Forester. Both generations use a version of the 2.5L FB25 engine, and the causes and fixes for P0021 are largely the same across these model years. The FB25 was updated with direct injection in 2019, but the AVCS system and its common failure points for this code remain consistent.

Symptoms You May Notice

Subaru Forester instrument cluster showing the Check Engine Light, Traction Control light, and a flashing Cruise Control indicator.
Subaru vehicles typically disable cruise control and traction control when a Check Engine Light is triggered, illuminating multiple warning lights simultaneously.
  • Check Engine Light is on
  • Flashing cruise control light and illuminated traction control light
  • Rough or unstable idle
  • Engine hesitation or stalling, especially when coming to a stop
  • Reduced engine power and poor acceleration
  • Decreased fuel economy
  • Difficulty starting the engine
  • Rattling noise from the engine bay under light load, around 2000 RPM
⚠️ Don't Waste Money on the Wrong Fix

Most Likely Causes

Side-by-side comparison of a clean, healthy Oil Control Valve and engine oil versus a sludged, failing OCV with dirty oil.
Because the AVCS system relies on oil pressure, dirty or low oil can easily clog the OCV's mesh filter or cause the valve to stick.
  1. Low or Dirty Engine Oil 🔴 High Probability The AVCS system uses oil pressure to adjust cam timing. Some FB25 engines are known for oil consumption, making low oil levels a frequent issue that can easily trigger this code. Using oil with the incorrect viscosity can also cause this issue.
    How to confirm: Check the engine oil level on the dipstick and inspect its condition. If the level is low or the oil is dark and sludgy, this is the likely cause.
    Typical fix: Perform an oil and filter change using the correct viscosity oil (0W-20 synthetic is specified for these models). Clear the code and drive to see if it returns.
    Est. part cost: $40-$80
  2. Failing Oil Control Valve (OCV) / AVCS Solenoid 🔴 High Probability The OCV can get clogged with sludge from old oil or fail electrically, causing it to stick in the advanced position. It is a common failure point across many Subaru models with AVCS.
    How to confirm: Swap the Bank 2 (driver's side) OCV with the Bank 1 (passenger's side) OCV. If the code changes to P0011 (the Bank 1 equivalent), the OCV is faulty. You can also test its resistance with a multimeter; it should be between 6.9 and 7.9 ohms. A visual inspection may reveal sludge on the solenoid's internal screen.
    Typical fix: Replace the Bank 2 Oil Control Valve and its O-ring. The part is held in by two 10mm bolts and is located on the front of the engine, below the oil filler cap. 🎬 Watch: Two quick DIY methods to clear the P0021 code.
    Est. part cost: $70-$150
  3. Clogged Oil Control Valve (OCV) Filter Screen 🟡 Medium Probability Small mesh filters protect the AVCS system from debris. If oil changes are neglected, these screens can become clogged, starving the system of oil pressure. These filters have been known to break apart, sending debris into the oil passages.
    How to confirm: The filter is located in the oil passage, sometimes within the banjo bolt that secures the oil line or in the cylinder head underneath the OCV itself. Remove the OCV or relevant banjo bolt and inspect the filter for sludge or damage.
    Typical fix: Carefully remove and clean the filter screen. Many Subaru technicians recommend removing the filters entirely if they are clogged to prevent future blockage or disintegration, as advised in TSBs for older models.
    Est. part cost: $0 - $15 (if replacing the banjo bolt)
  4. Faulty Camshaft Position Sensor ⚪ Low Probability
    How to confirm: This is less common than an OCV failure. Diagnosis involves checking the sensor's signal with an oscilloscope or swapping it with the sensor from the other bank to see if the code follows.
    Typical fix: Replace the Bank 2 camshaft position sensor.
    Est. part cost: $40-$90

Rare But Worth Checking

  • Stretched Timing Chain or Faulty Cam Phaser (AVCS Sprocket): This is a more serious mechanical issue. It usually occurs at higher mileage and may be accompanied by rattling noises from the front of the engine. A faulty cam phaser can get stuck in the advanced position. TSB 02-132-12R notes that contamination within the camshaft sprocket can be a cause.

Diagnosis Steps

  1. Check Engine Oil: Verify the oil level is full and the oil is clean. If low or dirty, perform an oil change with 0W-20 synthetic oil, clear the code, and see if it returns. This is the most common and cheapest fix.
  2. Scan Tool Data: Use an OBD-II scanner to monitor the live data for commanded vs. actual camshaft angle for Bank 2. A significant discrepancy confirms the timing issue.
  3. Inspect the Oil Control Valve (OCV): Locate the OCV on the driver's side (Bank 2) of the engine, just below the oil filler cap. It is held by two 10mm bolts. Check the electrical connector for oil leakage, which indicates a failed OCV.
  4. Swap the OCVs: A definitive test is to swap the driver's side (Bank 2) OCV with the passenger's side (Bank 1) OCV. Clear the codes and drive the vehicle. If the code returns as P0011, you have confirmed the OCV is the faulty part. Remember to replace the O-rings when swapping.
  5. Test the OCV: With a multimeter, test the resistance between the two pins on the OCV. A healthy solenoid should read between 6.9 and 7.9 ohms. An open loop (OL) reading indicates a failed solenoid.
  6. Inspect OCV Filter: If the OCV seems to be working, inspect the small mesh filter in the oil passage leading to it for sludge or debris. These are known to get clogged or disintegrate.
  7. Test Camshaft Position Sensor: If the problem persists, test the camshaft position sensor for proper function, either by checking its output or swapping it with the opposing bank's sensor.
  8. Advanced Mechanical Checks: If all else fails, the issue may be with the timing chain, tensioner, or the AVCS cam sprocket itself, which typically requires professional diagnosis as outlined in Subaru TSB 02-132-12R.

Parts You'll Likely Need

  • Oil Control Valve / AVCS Solenoid (Bank 2) (OEM #10921AA231, superseded by 10921AA23B) — This solenoid is the most common part to fail. It gets clogged or fails electrically, preventing proper control of the camshaft timing. The same part is used for left and right sides.
    Trusted brands: Subaru (OEM), Denso (OEM manufacturer), Dorman, Standard Motor Products (SMP)
    OEM price range: $110-$150
    Aftermarket price range: $60-$100
  • Engine Oil and Filter — Low or incorrect viscosity oil is a primary cause of this code. Using the specified 0W-20 synthetic oil is critical for the AVCS system.
    Trusted brands: Idemitsu (OEM supplier), Mobil 1, Pennzoil, Valvoline
    OEM price range: $50-$90
    Aftermarket price range: $40-$70
  • OCV O-Ring and Gasket (OEM #806944060 (O-Ring), 16677AA040 (Gasket)) — When replacing or swapping the OCV, the O-ring and gasket are considered one-time use items and should be replaced to prevent oil leaks.
    Trusted brands: Subaru (OEM)
    OEM price range: $5-$15

Related Codes That Often Appear With This One

  • P0011 — If both P0021 (Bank 2) and P0011 (Bank 1) appear together, it strongly points to a systemic oil issue like very low oil level, low oil pressure from a failing pump, or severe sludge, as it's unlikely both banks' solenoids would fail simultaneously.
  • P000C — This code indicates the Bank 2 camshaft position is slow to respond. It often appears with P0021 and points directly to a problem with the oil control solenoid or oil flow on that bank, often due to sludge.

Technical Service Bulletins (TSBs) & Recalls

  • 02-132-12R: DIAGNOSIS AND REPAIR FOR AVCS-RELATED DTCS P000A, P000B, P000C, P000D, P0011, P0014, P0021 AND P0024
  • 09-104-23R: ...Engine Control Module (ECM) to address rare cases of DTCs P0011... and P0021...
  • 02-163-16R: A Reddit user mentioned this TSB as an updated diagnostic procedure for AVCS problems.

Platform-Specific Known Issues

  • Subaru issued Technical Service Bulletin (TSB) #02-132-12R for 2011+ Forester models, providing updated diagnostic procedures for a range of AVCS-related codes, including P0021. It notes that contamination in the OCV or cam sprocket is a possible cause and details a side-to-side swap of the OCVs as a primary diagnostic step.
  • A later TSB, #09-104-23R, mentions a potential ECM logic update for some models to address rare cases of P0011 and P0021, though this applies to a different model year.
  • Owners on forums frequently report that P0021 appears when the engine is low on oil due to the FB25's tendency for oil consumption, and that a simple oil top-off or oil change resolves the co

Mechanic-Grade Diagnostic Values

  • Oil Control Valve (OCV) Solenoid Resistance — expected: 6.9 - 7.9 Ohms at 68°F (20°C). Failure: An open loop (OL) or no reading indicates a failed solenoid coil.
  • AVCS Advance Angle (Live Data) — expected: Approximately 0 degrees at idle. Failure: A value significantly different from 0 degrees at idle suggests the camshaft is stuck in an advanced or retarded position.
  • Oil Flow Control Solenoid Valve Duty (Live Data) — expected: Approximately 10% at idle. Failure: A duty cycle significantly higher than 10% at idle may indicate the ECM is attempting to correct a timing error.

Scan Tool Commands That Help

  • Subaru Select Monitor (SSM) or equivalent professional scanner: Live Data Monitoring for AVCS — This is critical for diagnosis. Use it to monitor 'AVCS Advance Angle' and 'Oil Flow Control Solenoid Valve Duty' for both banks. Comparing the commanded versus actual values for Bank 2 (driver's side) will confirm if a timing discrepancy exists and how the ECM is trying to compensate.

Wiring & Ground Locations

  • GE1 / GE2 — Two main engine grounds located side-by-side on the top center rear of the engine block, near the firewall.. These are primary ground points for the engine harness. GE2 specifically provides the ground for the ignition coils. A poor ground here can cause erratic signals and mis-trigger various engine codes, although it's not a direct cause for P0021, it's a foundational check for any electrical issue.
  • ECM Connector B21, Pin 34 — This is a pin on one of the main harness connectors (B21) that plugs into the Engine Control Module (ECM). The wire is often black and yellow.. This specific pin is a ground wire for multiple sensors. A loose or corroded pin here can interrupt the ground path for critical sensors, leading to incorrect readings and fault codes. Checking continuity from this pin to a known good ground (like GE1/GE2) is an advanced diagnostic step if a sensor or solenoid issue is suspected but parts test good.

Real Owner Repair Stories

  • Reddit user in /r/subaru (2017 Subaru Legacy (Uses similar FB engine and AVCS system)) — CEL with codes P0021 and P000C. ABS and brake lights on, cruise control blinking.
    ❌ Tried (didn't work) Taking it to the dealership, who performed an oil change. The lights came back on 10 minutes after leaving.
    ✅ What actually fixed it The recommended fix, based on Subaru TSB 02-163-16R, was to replace the Bank 2 (driver's side) oil control valve (solenoid). The user was provided with the exact part numbers needed: 1x 10921AA231 (OCV), 1x 16677AA040 (Gasket), and 1x 806944060 (O-Ring).
  • YouTube video by user 'K- G' (Subaru Forester (year not specified, but relevant FB engine)) — Check Engine Light with code P0021.
    ❌ Tried (didn't work) Initially considered replacing the expensive OCV solenoid.
    ✅ What actually fixed it The user checked the oil and found that while the dipstick read about a quarter full, this was apparently not enough oil pressure for the AVCS system to operate correctly. Simply topping off the engine oil made the code go away.
  • YouTube video by user 'SubaruShane' (Subaru with P0011 and P0021 codes) — Check Engine Light with both over-advanced timing codes.
    ❌ Tried (didn't work) N/A - this was a diagnostic video.
    ✅ What actually fixed it The video demonstrates finding a disintegrated OCV filter screen. The metal fragments from the broken screen were blocking oil flow and jamming the solenoid. The fix was to replace the OCV solenoid itself, as the broken filter indicated internal contamination.

OEM Part Supersession History

  • 10921AA230, 10921AA23A10921AA231, which was then superseded by 10921AA23B — A Subaru TSB announced a redesigned OCV with an improved internal oil seal to prevent oil from seeping into the wire harness connector, which was causing various AVCS-related DTCs. This is the likely reason for the series of supersessions.

Model Year Variations Within This Range

  • 2019-2021 (SK Generation): These models feature an updated FB25 engine with direct injection. While this was a significant engine update, the AVCS system's reliance on clean oil and the common failure points for code P0021 (OCV, oil level) remain the same as the earlier 2014-2018 SJ generation.
Subaru P0012 P0021 FIXED! AVCS Timing Problem Explained
Subaru P0012 P0021 FIXED! AVCS Timing Problem Explained
How to Fix P0021 Engine Code in 4 Minutes [2 DIY Methods / Only $6.43]
How to Fix P0021 Engine Code in 4 Minutes [2 DIY Methods / Only $6.43]
Subaru; p0011, p0021, Cam/Vvt Over Advanced. Check Engine Light
Subaru; p0011, p0021, Cam/Vvt Over Advanced. Check Engine Light
How to fix Subaru Trouble Codes P0011 or P0021 and what you need to know. Try this first, save $.
How to fix Subaru Trouble Codes P0011 or P0021 and what you need to know. Try this first, save $.
Wrenchy
Article researched & written by
Go-Parts' AI research assistant. Every article is backed by live web research, verified OEM data, and real technician knowledge — so you get accurate, up-to-date information you can trust.
Meet Wrenchy → Updated Jul 21, 2026

The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.

Year Coverage
This article covers the OBD-II Code P0021 for:
  • Subaru FORESTER: 20142015201620172018201920202021
In this article
🎬 Helpful Videos
Jump to ▴

Email This Guide

We'll send you a link to this article so you can read it later or share it.

Added to cart · Part