P0019 on 2018-2022 Subaru Crosstrek: Causes and Fixes for Camshaft Correlation
For a 2018-2022 Subaru Crosstrek, code P0019 is most often caused by low or dirty engine oil, a faulty oil control valve (OCV), or an outdated Engine Control Module (ECM) software. Start by checking your oil. If the oil is fine, the next step is often replacing the Bank 2 exhaust OCV, which costs about $100-$150 for the part. A software update from a Subaru dealer may also be required, as per TSB 09-120-24R.
- Always check your engine oil level and condition first; low or dirty oil is a top cause for code P0019.
- The most likely failed part is the Bank 2 (driver's side) exhaust Oil Control Valve (OCV).
- Before performing expensive mechanical repairs, ask a Subaru dealer if your vehicle needs the ECM software update mentioned in TSB #09-120-24R.
- Do not immediately replace the camshaft or crankshaft sensors; test them first, as they are often not the root cause.
What's Unique About the 2018-2022 Subaru CROSSTREK

On this generation of Subaru Crosstrek, the P0019 code is frequently linked to software issues within the Engine Control Module (ECM). Subaru has issued Technical Service Bulletins (TSBs) announcing software updates to fix overly sensitive monitoring that can trigger this code, along with P0016, P0017, and P0018, even when no mechanical fault exists. While mechanical issues like a faulty oil control valve are still common, the possibility of a software fix is a key characteristic of this platform, with some owners reporting the dealer update solved the problem without parts replacement.
🎬 Watch: Quick and permanent solutions for the P0019 code explained.Diagnostic Flowchart

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

- Check Engine Light is on
- Rough or erratic idle
- Hesitation or stumbling on acceleration
- Reduced engine power
- Decreased fuel mileage
- Engine may be difficult to start
- Cruise control and other driver aids (e.g., EyeSight) are disabled
- Replacing the crankshaft position sensor. While it's part of the system, it is rarely the cause for a single-bank camshaft correlation code.
- Replacing the camshaft position sensor without testing it first. Often, the sensor is correctly reporting a problem caused by the OCV, oil pressure, or software.
- Assuming it must be a major mechanical issue like a timing chain before checking for the required ECM software update, which is a known issue on this platform.
Most Likely Causes

- Low or Dirty Engine Oil 🔴 High Probability The Active Valve Control System (AVCS) uses oil pressure to adjust cam timing. Insufficient or contaminated oil is the most common reason for VVT-related codes on Subarus, as it can clog passages or cause pressure drops during maneuvers.
How to confirm: Check the oil level on the dipstick and inspect its condition. If it's low, black, or sludgy, it needs to be changed.
Typical fix: Perform an oil and filter change using the correct viscosity oil (0W-20 synthetic). In some cases, this alone resolves the code.
Est. part cost: $40-$80 - Faulty Oil Control Valve (OCV) / VVT Solenoid 🔴 High Probability The OCV for the Bank 2 exhaust camshaft (driver's side, lower position) can get clogged with sludge or fail electrically, preventing it from properly directing oil flow to the cam phaser. This is a very common failure point reported by owners.
How to confirm: You can test the solenoid's resistance with a multimeter (should be around 6.9-7.9 ohms). A capable scan tool can command it on and off to check for a response. Swapping the suspect solenoid with an identical one can also diagnose the issue; if the code changes, the solenoid is bad.
Typical fix: Replace the Bank 2 exhaust oil control valve. Owners strongly recommend using an OEM part, as aftermarket solenoids have been reported to fail quickly.
Est. part cost: $100-$180 - Engine Control Module (ECM) Software Update Needed 🟡 Medium Probability → Shop Engine Control Module (ECM) Subaru has released TSBs #09-120-24 and #09-120-24R specifically to address these codes. The update contains 'enhanced logic for the self-diagnosis program' because the original logic was too sensitive.
How to confirm: A Subaru dealership or a qualified shop with a Subaru Select Monitor (SSM) or equivalent tool can check the current software version against the TSB to see if an update is available. Some owners have had success getting this done after other repairs failed.
Typical fix: Reprogram the ECM with the updated software file. This is a dealer-only or specialty shop repair.
Est. part cost: $0-$200 - Faulty Camshaft Position Sensor ⚪ Low Probability → Shop Engine Camshaft Position Sensor
How to confirm: Swap the Bank 2 exhaust camshaft sensor with another one (e.g., from Bank 1) and see if the trouble code follows the sensor to the new location. If the code changes to P0017, the sensor is faulty.
Typical fix: Replace the Bank 2 exhaust camshaft position sensor.
Est. part cost: $50-$120
Rare But Worth Checking
- Stretched Timing Chain or Worn Timing Components: → Shop Engine Timing Chain While less common on newer vehicles, significant mileage or poor maintenance can lead to a stretched timing chain, causing a persistent correlation code that sensors and solenoids can't fix. Diagnosis is more involved and requires checking timing marks.
- Damaged Camshaft Phaser/Sprocket: → Shop Engine Camshaft The phaser itself can become stuck or fail internally due to sludge or mechanical failure, which is a significant labor-intensive repair.
- Incorrectly Installed Crankshaft Reluctor Plate: → Shop Engine Crankshaft This is extremely rare unless major engine work, like a clutch or rear main seal replacement, was just performed. One owner reported this exact issue on a 2015 Crosstrek, where the reluctor plate (crankshaft sensor plate) behind the flywheel was installed 'one tooth to far advanced', causing P0016 & P0019.
Diagnosis Steps
- Read the code with an OBD-II scanner and check for any other stored codes.
- Inspect the engine oil level and condition. If low or dirty, perform an oil and filter change, clear the codes, and test drive. This is the most critical first step.
- Inspect the wiring and connector for the Bank 2 exhaust camshaft position sensor and oil control valve for any damage or corrosion.
- If the oil is good, the next likely culprit is the oil control valve (OCV) for the Bank 2 exhaust camshaft. It can be tested for resistance or with a scan tool. Many owners opt to replace it as a primary diagnostic step.
- Test the camshaft position sensor. An easy way is to swap it with an identical sensor from another position and see if the code moves.
- Contact a Subaru dealer to check if TSB #09-120-24R applies to your VIN and if an ECM reprogram is needed. Some owners report this was the only fix required.
- After replacing parts like the OCV, some advanced scan tools have a function to clear VVT/ECM memory to force a re-learn, which has helped some owners.
- If all the above steps fail, a more in-depth mechanical diagnosis is required to check the timing chain, tensioners, and cam phasers for wear or failure.
Parts You'll Likely Need
- Oil Control Valve (VVT Solenoid)
(OEM #10921AA231)— This solenoid controls the oil flow that adjusts cam timing. It's a very common failure point, either by getting clogged with debris or failing electrically. Owner experiences strongly suggest using OEM parts for reliability.
Trusted brands: Subaru (OEM), Denso, Dorman
OEM price range: $120-$180
Aftermarket price range: $70-$130 - Camshaft Position Sensor
(OEM #22056AA28A)— Though less common than the OCV, a failing sensor can send incorrect data to the ECM, triggering the code. It's a relatively inexpensive part to replace during diagnosis.
Trusted brands: Subaru (OEM), NTK, Bosch, Standard Motor Products
OEM price range: $80-$120
Aftermarket price range: $40-$70 - Engine Oil and Filter — Correct oil level and cleanliness are critical for the proper function of the AVCS (VVT) system. An oil change is the first and most important step.
Trusted brands: Idemitsu (OEM supplier), Mobil 1, Pennzoil
OEM price range: $60-$90
Aftermarket price range: $40-$70
Related Codes That Often Appear With This One
- P0018 — Crankshaft Position - Camshaft Position Correlation Bank 2 Sensor 'A'. This code relates to the intake camshaft on the same bank (Bank 2). A problem affecting the entire bank, like low oil pressure or the ECM software glitch, could trigger both codes.
- P0016 — Crankshaft Position - Camshaft Position Correlation Bank 1 Sensor 'A'. This code, along with P0017, P0018, and P0019, is mentioned in the same Subaru TSB #09-120-24R, suggesting a systemic software issue can cause any combination of these codes to appear.
- P0017 — Crankshaft Position - Camshaft Position Correlation Bank 1 Sensor 'B'. Like P0016, this is for the opposite engine bank but is often linked by the same underlying causes, including the need for an ECM software update.
Technical Service Bulletins (TSBs) & Recalls
- 09-120-24R: Announces availability of new reprogramming files for the Engine Control Module (ECM) to remedy DTCs P0016, P0017, P0018, and P0019 by implementing enhanced logic for the self-diagnosis program. This TSB applies to 2018-2022 Crosstrek.
Platform-Specific Known Issues
- The Engine Control Module (ECM) may have overly sensitive parameters for detecting cam/crank correlation faults, leading to false codes. Subaru addressed this with Technical Service Bulletins #09-120-24 and #09-120-24R, which involve a software update to enhance the self-diagnosis logic.
- Owners report that using aftermarket Oil Control Valves (solenoids) can lead to premature failure, with the recommendation being to use OEM parts for this specific repair.
Mechanic-Grade Diagnostic Values
- Oil Control Valve (OCV) Solenoid Resistance — expected: 6.9 - 7.9 Ohms at 68°F (20°C). Failure: A reading outside this range, or an open circuit (infinite resistance), indicates a failed solenoid coil.
- Camshaft Position Sensor Voltage (Key On, Engine Off) — expected: Pin 1 (Power): ~5V; Pin 2 (Signal): Fluctuating or ~5V; Pin 3 (Ground): ~0V.. Failure: Absence of the 5V reference or ground points to a wiring or ECM issue rather than a faulty sensor.
- Live Data - VVT Advance Angle Value (at idle) — expected: Within a range of -10 to +10 degrees, ideally close to 0 degrees after warm-up.. Failure: A value that is stuck, or consistently outside the expected range, indicates a mechanical or hydraulic issue with the phaser or OCV.
- Mode $06 Diagnostic Value (MID $36, TID $8D/$8E) — expected: Value should be less than 1000.. Failure: A value of 1000 or greater indicates a confirmed problem with the Bank 2 camshaft correlation.
Hidden / Shadow Codes Worth Checking
- Mode $06, MID $36, TID $8D/$8E: This is not a typical DTC but a specific monitor ID within the OBD-II system's diagnostic data. MID $36 corresponds to Bank 2, and TIDs $8D and $8E relate to the AVCS (VVT) system's diagnostic values. A value of 1000 or more indicates a failure. (see via Requires an advanced scan tool like the Subaru Select Monitor (SSM) or equivalent that can access OBD Mode $06 test results.)
Scan Tool Commands That Help
- Subaru Select Monitor (SSM) or equivalent advanced scanner (e.g., Thinkdiag2): Clear Memory / VVT Memory Clear / Test Mode Clear — After replacing an Oil Control Valve or other timing components. The ECM stores learned values for the VVT system; clearing this memory forces the system to re-learn the new part's characteristics and can resolve a persistent code after a successful hardware repair.
- Subaru Select Monitor (SSM) or equivalent: Actuator Test: Bank 2 Exhaust OCV Activation — During diagnosis to confirm if the OCV is functional. When activated with the engine running, a noticeable change in engine idle (stumble or hesitation) should occur. If there is no change, it points to a stuck/clogged OCV or an oil flow problem.
Wiring & Ground Locations
- Main Engine Ground Strap — Typically bolts from the negative battery terminal to the engine block, often at or near the top starter motor bolt.. A weak or corroded main engine ground can introduce electrical noise and voltage drops throughout the system. This can affect the accuracy of sensor readings, including the crankshaft and camshaft position sensors, potentially leading to false correlation codes.
- ECM Grounds (e.g., B478) — The Engine Control Unit has multiple ground points, often located on the main body structure in the engine bay or interior. A wiring diagram is needed for precise locations.. A compromised ground specific to the ECM or its sensor inputs can directly cause faulty readings from the cam and crank sensors, leading to correlation codes even if the sensors and timing components are perfectly fine.
Real Owner Repair Stories
- Reddit user in /r/AskMechanics (2018 Subaru Crosstrek) — Check Engine Light with code P0019.
❌ Tried (didn't work) Replacing only the bottom (exhaust) VVT solenoid on Bank 2., Swapping camshaft position sensors to see if the code moved.
✅ What actually fixed it Replaced BOTH VVT solenoids (intake and exhaust) on Bank 2 and then performed a 'test mode clear' using a Thinkdiag2 scan tool. The combination of replacing the related part and performing the deep memory reset was the solution. - Reddit user in /r/AskMechanics (2018 Subaru Crosstrek (in comments of another P0019 post)) — P0019 code
❌ Tried (didn't work) Owner was advised by dealer to perform a flush and solenoid replacement.
✅ What actually fixed it An ECU update as per the TSB. The dealer charged one hour of labor and no parts were required.
When the Usual Fixes Don't Work
- While replacing the single Bank 2 exhaust OCV is the most common fix, one owner's documented experience showed that the code did not resolve until both the intake and exhaust OCVs on Bank 2 were replaced, followed by a VVT memory reset with a scan tool. This suggests that in some cases, a related component on the same bank may contribute to the fault, or that the ECM's learned values are a critical part of the repair process.
OEM Part Supersession History
10921AA220, 10921AA230→10921AA231— Standard part revision and consolidation by the manufacturer.
Model Year Variations Within This Range
- 2018-2022: The 2.0L FB20D direct-injection engine was introduced for the second-generation Crosstrek starting in 2018. While there were minor facelifts and the addition of a 2.5L engine option in 2021, the 2.0L engine and its VVT system, which are relevant to P0019, remained fundamentally the same throughout this period. The TSB for the ECM update covers all years from 2018-2022.
Helpful Videos
We Have This Part in Stock
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.
- Subaru CROSSTREK:
- 🧭 Diagnostic Flowchart
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2018-2022 Subaru CROSSTREK
- Symptoms You May Notice
- Most Likely Causes
- Rare But Worth Checking
- Diagnosis Steps
- Parts You'll Likely Need
- Related Codes That Often Appear With This One
- Technical Service Bulletins (TSBs) & Recalls
- Platform-Specific Known Issues
- Mechanic-Grade Diagnostic Values
- Hidden / Shadow Codes Worth Checking
- Scan Tool Commands That Help
- Wiring & Ground Locations
- Real Owner Repair Stories
- When the Usual Fixes Don't Work
- OEM Part Supersession History
- Model Year Variations Within This Range
- 🎟️ Get 5% Off