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 Articles →
🧭 Diagnostic Flowchart 🎬 Helpful Videos 🛍️ Shop This Part

P0018 on 2012-2016 Subaru Impreza: Crankshaft Camshaft Correlation Causes and Fixes

On a 2012-2016 Impreza, P0018 is almost always caused by low or dirty engine oil, or a failing driver's side Oil Control Valve (OCV). Start by checking your oil. If that's not the issue, a new OCV costs around $80-$150 and is a common DIY fix. An ECM software update may also be required per a TSB.

20 minutes to read 2012-2016 Subaru Impreza
Most Likely Cause
Low, Dirty, or Incorrect Viscosity Engine Oil
Difficulty
2/5
Est. Time
4.2 hrs
DIY Doable?
🔧 Shop
Shop Labor
$150 – $2300
Parts Price
$40 – $800
⚠️ Drivable, but... — You can drive, but expect reduced power, a rough idle, and poor fuel economy as the car may enter a 'limp mode' where acceleration is heavily restricted. Ignoring the code long-term risks more severe engine damage if the underlying cause is a mechanical issue like a stretched timing chain.
Key Takeaways
  • Before buying any parts, check your engine oil level and condition. Use 0W-20 full synthetic oil.
  • The most likely failed part is the driver's side intake Oil Control Valve (OCV), not the camshaft sensor.
  • A simple DIY test is to swap the driver's side and passenger's side OCVs to see if the code follows the part (changes to P0016).
  • Ask a Subaru dealer if an ECM software update is available for your vehicle, as this can be a known fix.
  • If you hear a rattling noise from the engine, stop driving and have it professionally inspected for a timing chain issue to prevent severe damage.
The trouble code P0018 stands for 'Crankshaft Position - Camshaft Position Correlation Bank 2 Sensor A'. This means your Impreza's Engine Control Module (ECM) has detected that the rotation of the intake camshaft on Bank 2 is out of sync with the rotation of the crankshaft. On the Subaru boxer engine, Bank 2 is the driver's side (Left Hand side), and 'Sensor A' refers to the intake camshaft. This timing relationship is managed by Subaru's Active Valve Control System (AVCS), which uses oil pressure to adjust the cam timing to optimize performance, fuel economy, and emissions.

What's Unique About the 2012-2016 Subaru Impreza

The FB20B engine in this generation of Impreza is particularly sensitive to engine oil condition. Its Active Valve Control System (AVCS) is operated by oil pressure, and even slightly low, dirty, or incorrect viscosity oil can disrupt the system and trigger a P0018 code. Unlike in many other vehicles where this code might immediately suggest a bad sensor or timing chain, on this Subaru, the problem is far more likely to be oil-related or a faulty Oil Control Valve (OCV) solenoid. The issue is identical on the platform-mate Subaru XV Crosstrek which uses the same engine.

Professional service recommended: While checking the oil and replacing an OCV is DIY-friendly, if the cause is a stretched timing chain or failed cam phaser, the repair is complex and risks catastrophic engine damage if performed incorrectly. Diagnosing these mechanical issues requires specialized tools and knowledge.

Symptoms You May Notice

  • Check Engine Light is on
  • Traction control, hill assist, and cruise control lights may also illuminate or flash (this is normal Subaru behavior when a CEL is triggered)
  • Reduced engine power and poor acceleration
  • Vehicle may enter 'limp mode' with heavily restricted acceleration
  • Rough, unstable, or stumbling idle
  • Engine may hesitate or stall
  • Decreased fuel economy
  • Ticking or rattling noise from the engine, especially on startup or at idle, which may disappear after replacing a faulty OCV
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the camshaft or crankshaft position sensors immediately. The issue is far more likely to be related to oil quality or the Oil Control Valve (OCV).
  • Assuming a stretched timing chain without first diagnosing the oil system and OCVs. This leads to a very expensive and often unnecessary repair.

Most Likely Causes

  1. Low, Dirty, or Incorrect Viscosity Engine Oil 🔴 High Probability The AVCS (variable valve timing) system is hydraulic and extremely sensitive to oil pressure and cleanliness. The FB20 engine requires full synthetic 0W-20 oil to function correctly. Sludge from infrequent oil changes is a primary trigger.
    How to confirm: Check the oil level on the dipstick. Examine the oil's color and consistency. If it is low, dark, sludgy, or past its recommended change interval, this is the likely cause.
    Typical fix: Perform an engine oil and filter change using a high-quality OEM filter and the correct 0W-20 full synthetic oil. If sludge is suspected, some owners and technicians recommend an engine flush using Subaru Part #SOA868V9290 before the oil change. Clear the code and perform several drive cycles.
    Est. part cost: $40-$80
  2. Faulty Oil Control Valve (OCV) / VVT Solenoid 🔴 High Probability → Shop Engine Variable Valve Timing (VVT) Solenoid This solenoid for the Bank 2 (driver's side) intake camshaft is a very common failure point. It can become clogged with sludge from old oil or fail electrically, preventing proper oil flow to the cam phaser. Forum users frequently report this as the successful fix.
    How to confirm: Swap the Bank 2 (driver's side) intake OCV with the identical Bank 1 (passenger's side) intake OCV. They are easily accessible on top of the engine. Clear the codes and drive. If the code returns as P0016 (the Bank 1 equivalent), the OCV is confirmed to be faulty.
    Typical fix: Replace the faulty Bank 2 intake oil control valve. It is held in by two bolts.
    Est. part cost: $80-$150
  3. Outdated Engine Control Module (ECM) Software 🟡 Medium Probability → Shop Engine Control Module (ECM) Subaru has released Technical Service Bulletin 11-127-13R because the original ECM software logic can be overly sensitive, causing the code to trigger erroneously or persist after an oil-related issue is fixed.
    How to confirm: A Subaru dealership or a properly equipped independent shop can check your vehicle's current software version against the latest available updates mentioned in TSBs.
    Typical fix: Reprogram the ECM with the updated software provided by Subaru. This must be done at a dealership or qualified shop.
    Est. part cost: $0-$200 (Labor for reprogramming)
  4. Stretched Timing Chain or Failed Tensioner ⚪ Low Probability → Shop Engine Timing Chain While less common than oil or OCV issues, poor oil maintenance and high mileage can lead to timing chain stretch or tensioner failure, causing a mechanical timing misalignment. One owner reported this as the ultimate cause, with a repair estimate of $3,800.
    How to confirm: This requires professional diagnosis. A rattling noise from the front of the engine on startup is a strong indicator. A technician will need to inspect the timing components, which is a labor-intensive process.
    Typical fix: Replace the timing chain, guides, and tensioners. This is a major repair.
    Est. part cost: $400-$800

Rare But Worth Checking

  • Failed Camshaft Phaser / Sprocket: → Shop Engine Camshaft A mechanical failure can occur inside the cam phaser itself, such as a broken internal spring-loaded plunger. This is difficult to diagnose as it requires removing the timing cover for inspection.
  • Faulty Camshaft Position Sensor: → Shop Engine Camshaft Position Sensor While the sensor can fail, it is much less common than an OCV failure. This part is often replaced unnecessarily. Test the sensor before replacing it. One owner found silvery metal particles on the sensor tip, indicating a more severe mechanical wear issue.
  • Damaged Wiring or Connectors: Rodent damage or chafing of the wiring harness leading to the OCV or camshaft position sensor can cause an open or short, triggering the code. A visual inspection is always a worthwhile step.

Diagnosis Steps

  1. Check Engine Oil: Verify the oil level is full. Ensure the oil is clean and of the correct 0W-20 viscosity. If low, dirty, or overdue for a change, perform an oil and filter change. Consider an engine flush (Subaru Part #SOA868V9290) if sludge is evident. Clear codes and proceed to the next step.
  2. Inspect Wiring: Visually inspect the wiring harnesses and connectors for the Bank 2 (driver's side) intake camshaft sensor and Oil Control Valve (OCV) for damage, corrosion, or oil contamination.
  3. Perform OCV Swap Test: Swap the driver's side intake OCV with the passenger's side intake OCV. They are identical and easily accessible. Clear the code and drive. If the code changes to P0016, the OCV is faulty and must be replaced.
  4. Check for TSBs: Contact a Subaru dealer with your VIN to see if your vehicle's ECM has a pending software update related to TSB 11-127-13R to address false P0018 codes.
  5. Clear Permanent DTCs Correctly: After a repair, the code may be stored as a 'Permanent DTC'. This will not clear with a basic scanner or battery disconnect. It requires completing several specific drive cycles (cold start, city driving, highway driving) to allow the ECU to verify the fix and clear the code itself.
  6. Seek Professional Diagnosis: If the above steps do not resolve the issue, the problem is likely mechanical (timing chain, phaser). This requires professional tools and expertise to diagnose and repair.

Parts You'll Likely Need

  • Engine Oil Control Valve (OCV) / VVT Solenoid (OEM #10921AA231 (supersedes 10921AA230, 10921AA220). Note: Later models may use 10921AA23B.) — This is the most common part to fail after ruling out oil issues. It gets clogged or fails electrically, causing the timing correlation error on Bank 2.
    Trusted brands: Subaru (OEM), Denso
    OEM price range: $90-$150
    Aftermarket price range: $60-$110
  • Engine Oil and Filter (OEM #Filter: 15208AA15A) — The AVCS system is highly sensitive to oil condition. Using the correct 0W-20 synthetic oil and a quality filter is the first and most important step.
    Trusted brands: Subaru (OEM Filter), Idemitsu 0W-20 (OEM fill), Mobil 1, Castrol EDGE
    OEM price range: $50-$80
    Aftermarket price range: $40-$60
  • Timing Chain Kit — In cases of high mileage or prolonged operation with poor oil quality, the timing chain can stretch, requiring a full replacement of the chain, guides, and tensioners.
    Trusted brands: Subaru (OEM)
    OEM price range: $400-$600

Related Codes That Often Appear With This One

  • P0016 — This is the same correlation error but for Bank 1 (passenger's side). Seeing both codes simultaneously strongly suggests a systemic issue like very low/dirty oil, an ECM software problem, or a stretched timing chain affecting the whole engine.
  • P0017 — This is a correlation error for the exhaust camshaft on Bank 1. TSB 11-127-13R specifically addresses an ECM update for P0017 and P0019, but the logic fix applies to the entire AVCS system.
  • P0019 — This is a correlation error for the exhaust camshaft on the same bank (Bank 2). Seeing it with P0018 points to a broader timing or oil pressure problem on the driver's side of the engine.

Technical Service Bulletins (TSBs) & Recalls

  • TSB 11-127-13R: Announces updated ECM reprogramming files and diagnostic procedures for DTCs P0017, P0019, and by extension, P0016 and P0018. The update addresses overly sensitive diagnostic logic that could trigger these codes. It requires a dealer to reprogram the ECM.
  • TSB Bulletin #09-120-24: Announces the availability of new reprogramming files for the Engine Control Module (ECM) developed specifically to remedy DTCs P0016, P0017, P0018, and P0019.
  • TSB Bulletin #09-120-24R: A design revision bulletin that clarifies the correlation logic for Bank 2 Sensor A (P0018) and other related camshaft/crankshaft correlation codes.

Platform-Specific Known Issues

  • The ECM can store 'permanent' trouble codes (pDTC) that will not clear with a standard scanner or by disconnecting the battery immediately after a repair. The vehicle must complete a series of specific drive cycles to allow the onboard diagnostics to re-run their tests and confirm the fault is gone. Owners often believe the fix didn't work when in reality the pDTC just hasn't cleared yet.

Mechanic-Grade Diagnostic Values

  • Oil Control Valve (OCV) Solenoid Resistance — expected: 6.9 - 7.9 Ohms at 68°F (20°C). Failure: A reading of 'no resistance' (open circuit) or a value significantly outside this range indicates a faulty solenoid coil.
  • AVCS Advance Angle (Live Data) — expected: Bank 1 (Right) and Bank 2 (Left) should both read near 0-5 degrees at idle.. Failure: If Bank 2 shows a high value (e.g., 20-50 degrees) while Bank 1 is near zero, it points to a stuck phaser or a faulty OCV on Bank 2.
  • Mechanical Timing Check (Live Data) — expected: With the OCVs for both banks unplugged, the camshaft position sensor value should be close to 0° at idle.. Failure: A reading of approximately +/- 10° or more suggests the timing chain has skipped a tooth, as each tooth on the cam sprocket represents about 10 degrees of rotation.
  • OCV Duty Cycle (Live Data) — expected: The duty cycle percentage will vary with engine speed and load as the ECM commands changes.. Failure: If the ECM commands a high duty cycle but the AVCS advance angle does not change, it indicates a hydraulic problem (clogged passage, bad OCV) or a stuck phaser.

Scan Tool Commands That Help

  • Subaru Select Monitor (SSM) or equivalent (Autel, Launch, etc.): AVCS Duty Cycle Command / Actuator Test — This bidirectional command allows a technician to manually activate the Bank 2 intake OCV solenoid while the engine is at idle. A noticeable stumble or change in engine performance confirms the OCV is working, the oil passages are clear, and the phaser is responding. If there's no change, it points to a failure in that hydraulic circuit.
  • Autel, Launch, or other advanced scan tools: Special Function: Clear/Reset VVT Learned Values — This is a critical step if P0018 returns immediately after replacing a mechanical part like an OCV or cam sprocket. The ECM can 'burn in' incorrect adaptive values when driven with a fault. This function forces the ECM to relearn the timing parameters from scratch with the new parts.

Wiring & Ground Locations

  • Left Intake Oil Control Solenoid (OCV) — On the front of the engine, on the driver's side (Bank 2).. This is the actuator that controls the cam phasing for the Bank 2 intake cam. Its wiring and connector are primary points of inspection for P0018.
  • Left Intake Camshaft Position Sensor — On the left rear of the engine (driver's side).. This sensor provides the feedback signal to the ECM that is being compared to the crankshaft signal. A fault in its wiring will directly cause this code.
  • Main Engine Ground — A primary ground strap connects from the battery negative terminal to the top of the engine block, often near the starter motor or transmission bell housing.. A poor main engine ground can cause floating voltages and erratic sensor readings across the entire engine management system, potentially triggering correlation codes like P0018.
  • ECM (Engine Control Module) — Located on the right side of the dash, typically behind the glove box.. This is the location of the module that receives all sensor inputs and controls the actuators. While rare, water intrusion or damage in this area can cause this code.

Real Owner Repair Stories

  • Reddit user in r/WRX (2017 WRX (Similar FA20 engine and AVCS logic)) — P0018 code appeared, but the car sounded and ran fine.
    ❌ Tried (didn't work) Swapping cam position sensors between banks., Swapping OCV solenoids between banks., Performing an oil change.
    ✅ What actually fixed it The user discovered the code was stored as a 'Permanent DTC' which could not be cleared with a standard code reader. Using an Autel scan tool to put the car into a specific diagnostic mode and then using the tool's 'test mode' to clear the DTC finally resolved the issue, and the code did not return, indicating no actual mechanical fault was present.
  • Reddit user in r/WRX (Subaru WRX with 54k miles) — P0018 code, no major drivability issues, but a ticking noise at idle was present.
    ❌ Tried (didn't work) Initially replacing just the camshaft position sensor.
    ✅ What actually fixed it Replacing the Bank 2 Oil Control Solenoid (OCV) made the code go away and also eliminated a ticking noise that had been present for a year. The user later found that the code returned but was a 'permanent' DTC that required multiple drive cycles to clear after the repair. The final fix was the OCV replacement combined with correctly clearing the permanent code.

OEM Part Supersession History

  • 10921AA22010921AA230, then 10921AA231 — Standard design revision and improvement by the manufacturer.
    Heads up: The parts are interchangeable and the newer part numbers are the correct service replacement for the older ones.

Model Year Variations Within This Range

  • 2012-2016: The FB20B engine was used consistently throughout this period for the Impreza and XV Crosstrek. In 2017, the Impreza received the updated FB20D engine with direct injection, which has different components and specifications.

Diagnostic Flowchart

Other Known Issues on This Vehicle

Issues unrelated to this code that are worth knowing about as an owner of this generation:

  • Excessive Engine Oil Consumption 🔴 High — Common in early FB20 engines (pre-2015). Caused by issues with piston oil control rings. Can lead to engine damage if oil level is not monitored closely. (Ref: TSB 02-157-14R; Subaru extended the powertrain warranty to 8 years/100,000 miles for affected vehicles and, in confirmed cases, would replace the engine short block.)
  • Lineartronic CVT Transmission Problems 🟠 Medium — Owners report issues like shuddering, hesitation, stalling, and erratic shifting. Problems are often attributed to the torque converter or valve body. (Ref: Subaru extended the CVT warranty for some models, but issues can still be costly to repair out of warranty.)
  • Failing Brake Light Switch 🟡 Low — A widespread issue causing brake lights to fail to illuminate, the push-button start to not work, and the inability to shift out of Park. (Ref: Recall 19V149000)
  • Fracturing Engine Valve Springs 🔴 High — Affected some 2012-2014 models, could cause engine malfunction or stalling while driving. (Ref: Recall 18V772000)
  • Failing Rear Wheel Bearings 🟠 Medium — A common wear item that fails prematurely, causing a loud howling or growling noise from the rear of the vehicle that changes with speed.

Used vs. New Parts: Buying Guide for This Vehicle

When a used part is the smart pick: For this specific repair, using used parts is generally not recommended. The key failure components (OCV, sensors) are relatively inexpensive new, and their failure is often linked to internal wear or sludge contamination that is impossible to see. A used part could fail again quickly.

Donor-vehicle mileage cap: roughly under 60000 miles for the part to have meaningful remaining life.

What to inspect on the donor part:

  • If considering a used OCV or sensor, only pull from a vehicle with documented low mileage and a clean engine (check the oil filler cap for sludge).
  • Avoid parts from vehicles that show signs of a front-end collision, as connectors and wiring may have hidden damage.

OEM-only on this vehicle (don't cheap out):

  • Oil Control Valve (OCV) / VVT Solenoid
  • Camshaft Position Sensor
  • Timing Chain Components

Aftermarket brands forum-validated for this vehicle:

  • Denso (often the OEM supplier for Subaru electrical parts)

Brands owners have reported issues with on this vehicle:

  • Unknown, no-name brands from online marketplaces are a significant risk. Many forum users report issues with cheap aftermarket sensors and solenoids failing prematurely, causing the code to return.

Real Owner Stories

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

2013-2017 Subaru XV Crosstrek 2.0L H4

Symptoms: Check Engine Light, traction control, and cruise control lights all illuminated.

What fixed it: Replacing the VVT solenoid (Oil Control Valve).

Source hint: Reddit r/Crosstrek - 'P0018 code'

Subaru WRX (FB/FA Series)

Symptoms: Code was stored as 'permanent' and would not clear immediately after part replacement.

What fixed it: Replacing the OCV and Cam Position Sensor, followed by several drive cycles to clear the permanent DTC.

Source hint: Reddit r/WRX - 'The Dreaded P0018'

2012-2016 Subaru Impreza FB20B — ~120000 miles

Symptoms: P0018 code triggered on a higher-mileage vehicle with a history of poor maintenance.

What fixed it: Replacement of the timing chain, guides, and tensioners, along with a new ECM.

Cost: $3,800-$3,800

Source hint: Reddit r/subaru - 'How bad is this'

Frequently Asked Questions

Why are my traction control, hill assist, and cruise control lights flashing along with the Check Engine Light?
This is normal Subaru behavior. When a CEL is triggered on the 2012-2016 Impreza, the system automatically disables these features and flashes the lights to alert the driver.
Is there a Technical Service Bulletin for P0018 on my FB20 engine?
Yes, Subaru released TSB 11-127-13R. It addresses overly sensitive ECM diagnostic logic that can trigger P0018 and provides updated reprogramming files to fix the issue. Additionally, Bulletin #09-120-24 announces availability of new reprogramming files to remedy DTCs P0016, P0017, P0018, and P0019.
I replaced the Oil Control Valve but the P0018 code won't go away. Why?
The FB20 engine's ECM often stores 'Permanent DTCs' that cannot be cleared by a standard scanner or battery disconnect. You must complete specific drive cycles (cold start, city, and highway driving) to allow the ECU to verify the fix and clear the code itself.
What specific oil and filter should I use to prevent AVCS issues?
The FB20 engine requires full synthetic 0W-20 oil. It is highly recommended to use a high-quality OEM filter to maintain the hydraulic pressure required by the variable valve timing system.
Is there a specific engine flush recommended for sludge-related P0018 codes?
Yes, the context mentions Subaru Part #SOA868V9290 as a recommended engine flush if sludge is suspected of clogging the AVCS or OCV.
Could my P0018 code be related to the excessive oil consumption issues on early Imprezas?
Yes. Early FB20 engines (pre-2015) are prone to oil consumption due to piston ring issues (TSB 02-157-14R). Low oil levels directly impact the hydraulic AVCS system, which can trigger P0018.
How To Fix P0018 Code - How To Repair Crankshaft Camshaft Correlation Bank 2
How To Fix P0018 Code - How To Repair Crankshaft Camshaft Correlation Bank 2
The SLUGGISH Subaru (P0011, P0016, P0018)
The SLUGGISH Subaru (P0011, P0016, P0018)
P0018 Code Problem - Symptoms, Causes & Easy Solutions ||
P0018 Code Problem - Symptoms, Causes & Easy Solutions ||
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 May 30, 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 P0018 (Deep Dive) for:
  • Subaru Impreza: 20122013201420152016
In this article
🧭 Diagnostic Flowchart
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