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

P0016 on 2014-2018 Subaru Forester: Crank-Cam Correlation Causes and Fixes

On a 2014-2018 Subaru Forester, P0016 is most often caused by low or dirty engine oil, or a failing oil control valve (OCV) on the passenger side (Bank 1). Always check your 0W-20 synthetic oil level and condition first. Replacing the Bank 1 intake OCV (Part No. 10921AA231) is a common, effective fix and costs around $70-$180 for the part.

20 minutes to read 2014-2018 Subaru Forester
Most Likely Cause
Low or Dirty Engine Oil
Est. Time
4.2 hrs
Shop Labor
$150 – $1800
Parts Price
$40 – $500
⚠️ Drivable, but... — You can drive, but it's not recommended for long. The engine may run poorly, stall, and have reduced power. In response to the code, the vehicle's traction control and cruise control systems are often disabled as a safety precaution. If the underlying cause is a failing timing chain, continued driving could lead to catastrophic engine damage.
Key Takeaways
  • Always check your engine oil level and condition first; it is the most common and cheapest fix.
  • The second most likely cause is a faulty Oil Control Valve (OCV) on the passenger side of the engine.
  • Do not assume you need a new timing chain without proper diagnosis. This code is often caused by simpler oil-related issues.
  • If you replace a part, it's a good idea to clear the code and drive to see if it returns, as sometimes the ECM needs to relearn.
  • Ignoring the code can lead to poor performance and risks severe engine damage if the timing chain is indeed the problem.
The P0016 code means the Engine Control Module (ECM) has detected a misalignment between the crankshaft and the Bank 1 intake camshaft. On your Subaru's boxer engine, 'Bank 1' is the passenger side, and 'Sensor A' refers to the intake camshaft. Essentially, the ECM sees that the camshaft's rotation is not synchronized with the crankshaft's rotation, indicating a problem with the engine's mechanical timing or the variable valve timing (VVT) system, which Subaru calls the Active Valve Control System (AVCS).

What's Unique About the 2014-2018 Subaru Forester

For this generation of Forester with the FB25B engine, the P0016 code is very sensitive to engine oil level and condition. The AVCS (VVT) system uses oil pressure to adjust cam timing, and even slightly low or degraded oil can cause this correlation fault. While a stretched timing chain can be the cause, it is often misdiagnosed before checking the simpler and more common issues like a clogged Oil Control Valve (OCV) or simply performing an oil change. A Subaru Technical Service Bulletin (TSB 02-163-16R) provides a detailed diagnostic procedure for technicians specifically for AVCS-related codes on these engines, emphasizing oil condition checks.

Symptoms You May Notice

  • Check Engine Light is on
  • Traction control, cruise control, and other driver assists are disabled
  • Engine runs rough or has an unstable idle
  • Reduced engine power and acceleration
  • Engine may crank but fail to start
  • Rattling noise from the front of the engine, especially on cold starts
  • Poor fuel economy
  • Engine stalling, particularly when coming to a stop
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the camshaft or crankshaft position sensors before checking oil level/condition and the OCV.
  • Immediately replacing the timing chain without confirming it has stretched or jumped time via scan tool data.
  • Mistaking the P0016 correlation code for a direct sensor failure code. The sensors are often correctly reporting a mechanical or hydraulic problem.

Most Likely Causes

  1. Low or Dirty Engine Oil 🔴 High Probability The AVCS (VVT) system is hydraulically operated and highly sensitive to oil pressure and cleanliness. Sludge or low levels can prevent the system from working correctly, and is the most common cause of VVT-related codes.
    How to confirm: Check the engine oil dipstick. The oil should be at the full mark and not be black, thick, or gritty. The FB25B engine requires 0W-20 synthetic oil.
    Typical fix: Change the engine oil and filter using the manufacturer-specified viscosity (0W-20 synthetic). Clear codes and perform a drive cycle.
    Est. part cost: $40-$80
  2. Faulty Oil Control Valve (OCV) / VVT Solenoid 🔴 High Probability The OCV can become clogged with sludge or debris from the oil, or it can fail electrically, preventing it from properly directing oil flow to the cam phaser. The internal filter screen can become blocked, starving the system.
    How to confirm: Inspect the OCV screen for debris. A common diagnostic step is to swap the Bank 1 (passenger side) intake OCV with the Bank 2 (driver side) intake OCV. If the code changes to P0018 (Bank 2), the OCV is faulty. The OCVs for intake and exhaust on both banks are often the same part number.
    Typical fix: Replace the Bank 1 intake Oil Control Valve. 🎬 See this walkthrough on how to replace the VVT solenoid OEM Part Number is 10921AA231.
    Est. part cost: $70-$180
  3. Stretched Timing Chain or Failed Tensioner 🟡 Medium Probability Over time, especially with poor oil maintenance, the timing chain can stretch, or the hydraulic tensioner can weaken, causing slack and altering the cam/crank correlation. This becomes a higher probability on engines over 100,000 miles.
    How to confirm: Listen for a rattling noise from the front of the engine on a cold start that lasts for a few seconds. A professional diagnosis involves checking cam/crank correlation with a scan tool while the OCVs are disconnected. A deviation of more than +/- 10 degrees at idle indicates a likely timing chain issue.
    Typical fix: Replace the timing chain, guides, and tensioners. This is a labor-intensive job.
    Est. part cost: $250-$500
  4. Failing Camshaft or Crankshaft Position Sensor ⚪ Low Probability
    How to confirm: These sensors can be tested with a multimeter or oscilloscope for proper signal. However, sensor failure is less common than OCV or oil issues and often triggers other specific sensor circuit codes (e.g., P0340). One owner documented replacing all four cam sensors with no change, ultimately requiring a more expensive dealer repair.
    Typical fix: Replace the faulty sensor. The P0016 code points to the Bank 1 (passenger side) intake camshaft position sensor (OEM Part # 22056AA270) or the crankshaft position sensor.
    Est. part cost: $30-$90

Rare But Worth Checking

  • Clogged AVCS (Cam) Sprocket: Sludge from infrequent oil changes can clog the oil passages within the camshaft phaser/sprocket itself, preventing it from adjusting timing correctly. In some cases, the internal lock pin mechanism of the phaser can fail, causing it to be unable to lock at its base position, which can trigger both P0011 and P0016 codes. This is an expensive repair requiring timing component disassembly.
  • Low Engine Oil Pressure: A failing oil pump or other internal engine issue can cause low oil pressure, starving the AVCS system and triggering the code. An oil pressure test with a mechanical gauge can confirm this. Per Subaru TSB 02-187-21, pressure should be >9.8 PSI (68 kPa) at idle and >40.6 PSI (280 kPa) at 3000 RPM when warm (80°C/176°F).
  • ECM Learned Value Retention: In some cases, after a mechanical repair (like OCV replacement), the ECM can retain incorrect 'learned values' for cam position, causing the code to persist. A specialized scan tool procedure is required to clear this memory, which is more involved than a simple code clear. Subaru's official procedure per TSB 02-163-16R is ECM replacement, but aftermarket tools like Autel or Launch can perform a reset.

Diagnosis Steps

  1. Check Engine Oil Level and Condition: Pull the dipstick. If the oil is low, top it off. If it's dark, sludgy, or past its change interval, perform an oil and filter change with full synthetic 0W-20 oil. This is the most common and cheapest fix. Clear the code and drive.
  2. Scan for Other Codes: Check if any other codes are present that might point to a specific sensor or circuit failure. Codes like P0011 or P0018 can help narrow the diagnosis.
  3. Inspect and Swap Oil Control Valves (OCVs): Locate the intake OCV on the passenger side (Bank 1). Remove it (10mm bolt) and inspect its filter screen for sludge or metallic debris. A widely accepted diagnostic step is to swap the passenger-side intake OCV with the driver-side intake OCV. Clear codes and drive. If the code returns as P0018, the OCV you moved is confirmed to be faulty.
  4. Check Cam/Crank Correlation with a Scan Tool: This is a more advanced step outlined in Subaru TSB 02-163-16R. A capable scan tool can display the live data for 'VVT Adv. Ang. Amount'. With the OCVs unplugged, start the engine and check the value at idle within 10 seconds. It should be 0 degrees. If it deviates by more than +/- 10 degrees, a mechanical timing issue (e.g., stretched chain) is likely.
  5. Test Sensors: If all else fails, test the crankshaft position sensor and the Bank 1 intake camshaft position sensor for correct operation using a multimeter or oscilloscope. Check for a stable signal and inspect wiring for damage.
  6. Inspect Timing Chain: If a mechanical timing issue is confirmed by scan tool data and cold-start rattle, the final step is to physically inspect the timing chain, guides, and tensioner for wear, slack, or damage. 🎬 Watch: DIY guide for Subaru FB25 timing chain alignment This requires significant engine disassembly.

Parts You'll Likely Need

  • Engine Oil Control Valve (OCV / VVT Solenoid) (OEM #10921AA231) — This part frequently gets clogged with oil sludge or fails electrically, causing it to stick and disrupt cam timing control. It is the most common mechanical part to fail and cause P0016 after oil issues are ruled out. This part number replaces previous versions 10921AA230 and 10921AA220.
    Trusted brands: Subaru (OEM), Denso, Dorman
    OEM price range: $120-$180
    Aftermarket price range: $70-$120
  • Engine Oil and Filter (OEM #Filter: 15208AA15A) — Low or degraded oil is the most common trigger for this code, as it directly impacts the hydraulic AVCS system. Using the correct 0W-20 viscosity is critical.
    Trusted brands: Idemitsu (OEM supplier), Mobil 1, Pennzoil Platinum
    OEM price range: $15-$25 (Filter only)
    Aftermarket price range: $8-$15 (Filter only)
  • Camshaft Position Sensor (OEM #22056AA270) — Though less common, the sensor itself can fail and send incorrect data to the ECM, causing a correlation fault. It's often replaced unnecessarily when the issue is hydraulic or mechanical.
    Trusted brands: Subaru (OEM), Denso, NTK
    OEM price range: $60-$90
    Aftermarket price range: $30-$60

Related Codes That Often Appear With This One

  • P0018 — This is the equivalent code for Bank 2 (driver's side). It may appear if the OCV from the faulty Bank 1 is swapped to Bank 2 for diagnosis, or if a systemic issue like low oil pressure or a stretched timing chain is affecting both banks.
  • P0011 — This code indicates 'Camshaft Position Timing Over-Advanced' for Bank 1. It can appear with P0016 if the OCV is stuck or if the cam phaser itself has a mechanical failure, such as a broken lock pin.

Technical Service Bulletins (TSBs) & Recalls

  • TSB 02-163-16R: Provides detailed inspection and repair procedures for AVCS-related DTCs, including P0016, for FA and FB engines. It outlines the specific scan tool steps to verify mechanical timing vs. a control system fault.
  • TSB 02-170-17R: Addresses oil leaking from the AVCS oil control valve itself, which can lead to oil wicking into the wiring harness and causing further electrical issues if not addressed.
  • TSB Bulletin #09-120-24R: While released for newer models, this bulletin announces the availability of new reprogramming files for the Engine Control Module (ECM) specifically developed to remedy DTC P0016.

Platform-Specific Known Issues

  • While some newer Subarus have TSBs for ECM software updates to fix this code (like TSB 09-120-24R for 2020+ models), the 2014-2018 Forester generation is more prone to the mechanical and oil-related causes.
  • In some cases, after a mechanical repair, the ECM can retain incorrect 'learned values,' causing the code to persist. A special scan tool procedure is needed to clear this memory, which is a step beyond a simple code clear.
  • The FB25B engine does not have hydraulic lash adjusters, meaning valve clearances must be manually checked and adjusted, typically every 60,000 miles. While not a direct cause of P0016, it underscores the engine's need for regular, by-the-book maintenance.

Mechanic-Grade Diagnostic Values

  • Oil Control Valve (OCV) / VVT Solenoid Resistance — expected: 6.9 - 7.9 Ω at 68°F (20°C). Failure: No reading (open circuit) or a reading significantly outside the specified range.
  • Engine Oil Pressure (at operating temp 80°C/176°F) — expected: Greater than 9.8 psi (68 kPa) at idle; Greater than 40.6 psi (280 kPa) at 3000 RPM.. Failure: Pressure below these specifications indicates an oil delivery problem (e.g., failing pump, clogged pickup) that will starve the AVCS system.
  • Cam/Crank Correlation Check (via Scan Tool) — expected: 0° (+/- 10°) at idle with OCVs disconnected.. Failure: A value greater than +/- 10° indicates a jumped tooth or stretched timing chain. A 10° deviation corresponds to one tooth on the cam sprocket.
  • Camshaft Position Sensor Voltage (3-wire Hall effect) — expected: Power wire: ~5V with key on. Ground wire: Good ground. Signal wire: Should toggle between ~5V and 0V when metal passes in front of the sensor tip.. Failure: No voltage, constant voltage on the signal wire that doesn't change, or incorrect reference voltage indicates a failed sensor or wiring issue.

Hidden / Shadow Codes Worth Checking

  • Mode $06, MID $35, TID $8B-$8E: This is not a shadow code, but OBD-II Mode $06 data used for repair verification. It allows a technician to see the raw test data from the ECM's last self-test of the AVCS system, confirming if the system is operating within its expected parameters after a fix, often before the ECM has completed a full drive cycle to turn the check engine light off. (see via A professional scan tool with Mode $06 capability, such as the Subaru Select Monitor (SSM).)

Scan Tool Commands That Help

  • Autel, Launch (or similar professional aftermarket scanner): Special Function -> Change Test Mode -> Clear Fault Memory — To reset AVCS learned values stored in the ECM's EEPROM. This is critical when a P0016 code persists after a mechanical fix (like an OCV replacement). Subaru's official fix is ECM replacement, but this aftermarket procedure can clear the learned data without it. It involves putting the car in a special 'Inspection Mode' with a fuse.
  • Subaru Select Monitor (SSM) or equivalent: Live Data -> VVT Adv. Ang. Amount — Used during the TSB 02-163-16R procedure to check for a stretched timing chain. With the OCVs unplugged, this PID should read near 0°. A significant deviation points to a mechanical timing fault.

Real Owner Repair Stories

  • Reddit user on r/WRX (2017 WRX Premium (FA20 engine, but AVCS principles are the same)) — Check engine light with P0016, rough idle, sluggish in first gear.
    ❌ Tried (didn't work) Initial dealer quote was for a full timing job ($2100+ in parts).
    ✅ What actually fixed it The owner's friend, a Subaru mechanic, found an ECU update was available. After flashing the update and replacing the Oil Control Valve (OCV), the code was resolved. This avoided a costly and unnecessary timing chain replacement.
  • YouTube user comment section / Forum discussions (2015 Subaru Forester 2.5L) — Persistent P0016 after replacing OCVs and confirming oil level/pressure were good.
    ❌ Tried (didn't work) Replacing OCVs, Oil change, Replacing cam/crank sensors.
    ✅ What actually fixed it The ECM had retained bad 'learned values' for the AVCS system from when the old part was failing. The code would not clear with a standard tool. The final fix was using a professional scan tool (Launch or Autel) to perform a special procedure to clear the AVCS learned values from the ECM's memory, as detailed by multiple technicians online.
  • YouTube video uploader (2014-2020 Subaru Forester (model year unspecified)) — P0016 Check Engine Light, disabled driver assists.
    ❌ Tried (didn't work) Oil change, Engine flush, New gas cap, Replacing all four camshaft position sensors.
    ✅ What actually fixed it After all DIY attempts failed, a dealer repair was required. The dealer replaced the Bank 1 cam sprocket (phaser) and the ECU at a cost of ~$3,000, which finally resolved the issue. This represents a worst-case scenario where the phaser itself mechanically failed.
  • NHTSA ODI #11271611 — An owner reported that while driving at normal speeds, the check engine light illuminated with code P0016 and the engine developed a rough idle. A dealer diagnosis indicated that a new ECM and cam sprocket were required to resolve the issue.

OEM Part Supersession History

  • 10921AA22010921AA230, then 10921AA231 — Internal design improvements to enhance durability and resistance to oil contamination/sludging.

Model Year Variations Within This Range

  • 2017-2018: The 2017 model year marked a mid-cycle refresh for the Forester. While the FB25B engine remained mechanically similar, there were updates to the ECU software and minor exterior/interior changes. An ECU update may be available for these later models that could address logic related to AVCS operation, as seen in one repair story. Fuel economy was slightly improved, suggesting minor powertrain calibration changes.

Diagnostic Flowchart

Start by checking the engine oil level and condition, as the FB25B engine's AVCS system is highly sensitive to oil pressure and sludge. This branches the path immediately between simple maintenance and deeper mechanical diagnosis.
→ Perform an oil and filter change with full synthetic 0W-20. The FB25B AVCS is hydraulically operated and sludge is the most common cause of P0016. Clear the code and drive.
Connect a scan tool. Are there other codes present alongside P0016?
→ These indicate broader AVCS issues. Proceed to inspect the Oil Control Valves (OCVs) for sludge or debris blocking the internal filter screens.
Remove the Bank 1 (passenger side) intake Oil Control Valve (10mm bolt). Swap it with the Bank 2 (driver side) intake OCV. Clear codes and drive. What happens?
→ The OCV is confirmed faulty. Replace the Bank 1 intake OCV (OEM Part # 10921AA231). Also check for oil wicking into the harness per TSB 02-170-17R.
Do you hear a rattling noise from the front of the engine on cold starts, or do you have a scan tool capable of reading 'VVT Adv. Ang. Amount'?
→ Per TSB 02-163-16R, this indicates a mechanical timing issue. You likely have a stretched timing chain or failed tensioner requiring engine disassembly.
Have you recently performed a mechanical repair for this code, or tested the Bank 1 intake camshaft position sensor?
→ The ECM may have retained incorrect 'learned values'. A special scan tool procedure is required to clear this memory, which is a step beyond a simple code clear.
→ Test the Bank 1 intake camshaft position sensor (OEM # 22056AA270) and crankshaft position sensor with a multimeter/oscilloscope. If sensors are good, professional diagnosis is required.

Real Owner Stories

Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.

Subaru Forester

Symptoms: P0016 remained after an oil change, engine flush, valve change, replacing all 4 camshaft position sensors, and installing a new gas cap.

What fixed it: The dealer replaced the bank 1 cam sprocket and ECU.

Cost: $3000

Source hint: YouTube - 'How to replace a Subaru Forester Camshaft Position Sensor... Error Code P0016'

Subaru Forester

Symptoms: Check Engine Light on with code P0016.

What fixed it: Swapped OCVs between banks to confirm the fault, followed by an oil change and OCV replacement.

Source hint: subaruforester.org

Frequently Asked Questions

Does TSB 02-163-16R apply to my 2014-2018 Forester for code P0016?
Yes, TSB 02-163-16R provides detailed inspection and repair procedures for AVCS-related DTCs like P0016 on FA and FB engines. It outlines specific scan tool steps to verify if the issue is mechanical timing (like a stretched chain) or a control system fault.
Can I just clear the P0016 code after replacing the Oil Control Valve on my FB25B engine?
You might need a special scan tool procedure. In some cases, the ECM retains incorrect 'learned values' that cause the code to persist even after a mechanical repair, which requires more than a simple code clear.
I have a P0016 code and notice oil leaking from the wiring harness. Is this a known issue?
Yes, TSB 02-170-17R addresses oil leaking from the AVCS oil control valve itself, which can wick into the wiring harness and cause further electrical issues if not addressed.
How can I test if the Oil Control Valve (OCV) is causing the P0016 on my Forester?
A common diagnostic step is to swap the Bank 1 (passenger side) intake OCV with the Bank 2 (driver side) intake OCV. If the code changes from P0016 to P0018, the OCV is confirmed faulty.
Is there an ECM software update to fix P0016 on the 2014-2018 Forester?
No, while newer 2020+ models have TSBs for ECM software updates (like TSB 09-120-24R), the 2014-2018 generation is more prone to mechanical and oil-related causes.
What oil should I use to prevent AVCS and P0016 issues in my 2.5L Forester?
The FB25B engine requires 0W-20 full synthetic oil. The AVCS system is highly sensitive to oil pressure and cleanliness, so maintaining proper levels and clean oil is critical.
P0016 Code: Causes and Solutions | How To Fix Code P0016 ?
P0016 Code: Causes and Solutions | How To Fix Code P0016 ?
What's Causing Your P0016 Code? Symptoms, Causes, & Fixes!
What's Causing Your P0016 Code? Symptoms, Causes, & Fixes!
P0016 Crank/Cam Correlation (Bank 1) | Timing Chain vs. Sensor Fix
P0016 Crank/Cam Correlation (Bank 1) | Timing Chain vs. Sensor Fix
How to replace a Subaru Forester Camshaft Position Sensor (4 in total) Error Code P0016
How to replace a Subaru Forester Camshaft Position Sensor (4 in total) Error Code P0016
How to Test & Fix P0016 Crankshaft - Camshaft Position Correlation Bank 1 Sensor A (Bank 1 - Intake)
How to Test & Fix P0016 Crankshaft - Camshaft Position Correlation Bank 1 Sensor A (Bank 1 - Intake)
How to replace a VVT solenoid Subaru #p0028 #p0026
How to replace a VVT solenoid Subaru #p0028 #p0026
Subaru FB25 Timing Chain Alignment DIY | No Special Tools Needed
Subaru FB25 Timing Chain Alignment DIY | No Special Tools Needed
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 29, 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 P0016 (Deep Dive) for:
  • Subaru Forester: 20142015201620172018
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