P0012 on 2013-2019 Subaru Legacy 2.5L: Causes and Fixes for Over-Retarded Camshaft Timing
On a 2013-2019 Subaru Legacy with the 2.5L FB25 engine, code P0012 is almost always caused by low or dirty engine oil. If an oil change doesn't fix it, the next most likely cause is a faulty passenger-side intake Oil Control Valve (OCV), which costs around $90-$150 for an OEM part and is a straightforward DIY replacement.
- When you see P0012 on your Subaru Legacy, check your oil level and condition immediately. This is the most common and cheapest fix.
- Use the correct oil: 0W-20 full synthetic is required for the AVCS system to function properly.
- If an oil change doesn't solve the problem, the passenger-side intake Oil Control Valve (OCV) is the next part to inspect and likely replace.
- Check the OCV electrical connector for oil, which is a sign of internal failure per TSB 02-170-17R.
What's Unique About the 2013-2019 Subaru Legacy
The FB25 engine in this generation of Subaru Legacy is notoriously sensitive to engine oil level and condition. Many of these engines were also subject to a class-action lawsuit and subsequent warranty extensions for excessive oil consumption, which can directly lead to the low oil levels that trigger a P0012 code. Furthermore, Subaru issued a Technical Service Bulletin (TSB 02-170-17R) for a known issue where the Oil Control Valve (OCV) can leak oil internally into its own electrical connector. This oil can then 'wick' up the wiring harness, potentially causing short circuits and damage to the main engine harness or even the ECM if not caught early.
Generation note: The 2013-2019 year range covers the end of the fifth generation (2013-2014) and the full sixth generation (2015-2019) of the Subaru Legacy. Both generations used the FB25 2.5L engine, and the causes and fixes for code P0012 are consistent across both.
Symptoms You May Notice
- Check Engine Light is on
- Rough engine idle
- Poor acceleration and loss of power
- Decreased fuel economy
- Engine stalling in some cases
- Engine may make a ticking or rattling noise
- Replacing the camshaft position sensor. While a sensor can fail, it is not a common cause for this specific code. A failing sensor would more likely produce a circuit code (like P0340) or erratic readings, whereas P0012 points to a mechanical/hydraulic timing issue.
Most Likely Causes
- Low, Dirty, or Incorrect Viscosity Engine Oil 🔴 High Probability The Subaru AVCS is a hydraulic system that is extremely sensitive to oil pressure and cleanliness. The FB25 engine, in particular, can consume oil, making low oil levels a frequent issue. A class-action lawsuit was filed regarding excessive oil consumption on certain models including the 2013 Legacy, alleging defective piston rings.
How to confirm: Check the engine oil dipstick. Note the level and the color/condition of the oil. If the level is below the 'full' mark or the oil is dark, sludgy, or past its service interval, this is the likely cause. Many owners report the code appears when the oil level is simply near the 'low' mark, even if not empty.
Typical fix: Top up the oil to the correct level or perform a complete oil and filter change using the manufacturer-recommended 0W-20 synthetic oil. Clear codes and drive to see if the issue is resolved. 🎬 Watch: Two simple DIY methods to fix code P0012 quickly.
Est. part cost: $40-$80 - Failing Oil Control Valve (OCV) / VVT Solenoid 🟡 Medium Probability The OCV for Bank 1 (passenger side) is a common failure point. It can become clogged with sludge from dirty oil or fail electrically. Subaru TSB 02-170-17R specifically addresses these valves leaking oil into the wiring harness on 2013-2019 models due to a redesigned internal seal in the updated part.
How to confirm: After confirming oil is clean and full, inspect the OCV connector for oil. A common diagnostic step is to swap the Bank 1 (passenger side) and Bank 2 (driver side) intake OCVs. If the code changes to P0022 (the Bank 2 equivalent), the OCV is confirmed faulty. You can also bench test the OCV with a 12V power source; it should make an audible click.
Typical fix: Replace the Bank 1 intake Oil Control Valve. It is a simple repair involving removing one bolt and the electrical connector. 🎬 See this walkthrough on how to replace and upgrade the OCV.
Est. part cost: $90-$150
Rare But Worth Checking
- Stretched Timing Chain or Failed Tensioner: While much less common than oil issues or a bad OCV, excessive slack in the timing chain can cause the camshaft timing to be physically retarded, triggering this code. This is usually accompanied by rattling noises from the front of the engine, especially on startup.
- Clogged AVCS Camshaft Sprocket (Phaser): Debris or sludge can clog the small oil passages within the camshaft sprocket itself, preventing it from adjusting timing correctly. This is a more involved repair and is unlikely unless oil maintenance has been severely neglected.
- Clogged Banjo Bolt Filters: Some Subaru engines have small mesh filters in the banjo bolts that supply oil to the AVCS system. These can become clogged with debris and starve the system of oil. While more common on older EJ engines, it's a possibility on neglected FB engines.
Diagnosis Steps
- Read the code using an OBD-II scanner 🎬 Watch: A helpful breakdown of P0012 causes and common fixes. to confirm P0012 is present.
- Check the engine oil level and condition. If it is low, dirty, or the wrong type, correct this first. Perform an oil and filter change with 0W-20 synthetic oil. Clear the code and drive the vehicle to see if it returns.
- If the oil is good, inspect the electrical connector on the Bank 1 (passenger side) intake Oil Control Valve (OCV) for oil intrusion or damage. This is a known issue per TSB 02-170-17R. If oil is present, the OCV must be replaced, and the harness connector should be thoroughly cleaned with electrical contact cleaner.
- If the connector is clean, swap the intake OCV from Bank 1 with the intake OCV from Bank 2 (driver's side). They are identical and interchangeable.
- Clear the codes and drive the vehicle. If the code returns as P0022 (for Bank 2), the OCV you moved is faulty and needs to be replaced.
- If the code P0012 returns after the swap, the problem is not the OCV. The issue may be a clogged oil passage, a faulty camshaft phaser, or a timing chain issue, which may require professional diagnosis.
- If the problem persists, consider checking for clogged banjo bolt filters in the oil supply lines to the heads, although this is a less common issue.
Parts You'll Likely Need
- Intake Oil Control Valve (OCV) / VVT Solenoid (Bank 1)
(OEM #10921AA231)— This is the most commonly replaced part for code P0012 after oil-related issues have been ruled out. It controls oil flow to the cam phaser and is prone to clogging or electrical failure. The part number 10921AA231 supersedes previous versions 10921AA220 and 10921AA230, and contains a redesigned internal seal to prevent oil leakage into the connector.
Trusted brands: Subaru (OEM), Denso
OEM price range: $90-$150
Aftermarket price range: $50-$100 - Engine Oil and Filter — Low, old, or incorrect viscosity oil is the number one cause of this code. Using the correct 0W-20 synthetic oil and a quality filter is the first and most important step.
Trusted brands: Idemitsu (often OEM supplier), Mobil 1, Castrol
OEM price range: $60-$100
Aftermarket price range: $40-$80
Related Codes That Often Appear With This One
- P0011 — This code is for 'Timing Over-Advanced' on the same camshaft. Seeing P0011 and P0012 intermittently can point to an erratic OCV or a severe oil flow problem.
- P0022 — This is the same 'Over-Retarded' code but for Bank 2 (driver's side). This code will appear during diagnosis if a faulty Bank 1 OCV is swapped to Bank 2 to confirm the failure.
- P0010 — This is the circuit code for the Bank 1 intake OCV. It may appear alongside P0012 if the OCV has failed electrically or if oil has wicked into the connector, causing a short.
Technical Service Bulletins (TSBs) & Recalls
- TSB 02-170-17R: Addresses AVCS Oil Control Valve (OCV) leaking engine oil into its electrical connector, which can then wick through the wiring harness. Affects 2013-2019 Legacy/Outback models.
- TSB 02-157-14R (and related lawsuits): While not directly for P0012, this TSB and the associated legal settlements address the root cause of excessive oil consumption in some FB25 engines, a primary trigger for oil-pressure related codes like P0012.
- TSB Bulletin #09-128-24: Notes that P0012 can be associated with "A" Camshaft Position - Timing Over-Advanced or System Performance Bank 2, sometimes appearing alongside communication codes like U0100.
- TSB Bulletin #09-128-24R: A revised manufacturer bulletin that further documents P0012 as a timing performance issue for Bank 2 in the context of broader electrical and engine system diagnostics.
Platform-Specific Known Issues
- Excessive oil consumption on some FB25 engines can lead to low oil levels, which is a primary trigger for P0012. A class action lawsuit led to extended warranties (8 years/100,000 miles) for this issue on certain model years.
- TSB 02-170-17R describes a known defect where the OCV can leak oil into the engine wiring harness, causing poor connection and triggering this code. If left unchecked, oil can wick up the harness and damage the main bulkhead connector or ECM.
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 0 ohms (short), OL/infinite (open), or a value significantly outside the specified range indicates a faulty solenoid coil.
- Live Data: AVCS Intake Angle (Bank 1) vs. Target Angle — expected: Using a scan tool, the 'AVCS In Right' or 'VVT Adv. Ang. Amount R' (actual) value should closely track the 'AVCS Intake Target' (commanded) value as engine RPM changes.. Failure: If the actual angle value consistently lags behind the target value, fails to change, or is stuck at 0 degrees when commanded, it confirms a performance issue.
- Live Data: OCV Duty Cycle (Bank 1) — expected: The OCV duty cycle percentage, viewable on a scan tool, should increase as the ECM commands more camshaft advance with rising RPM.. Failure: A duty cycle that is commanded high by the ECM but results in no change in cam angle points to a mechanical or hydraulic issue (clogged OCV, bad phaser) rather than an electrical one.
- Mechanical Timing Check (per TSB 02-163-16R) — expected: With the OCVs electrically disconnected, the camshaft position sensor value at idle should be close to 0°.. Failure: A reading of approximately +10° or -10° suggests the timing chain has skipped one tooth on the 36-tooth cam sprocket, indicating a base mechanical timing problem.
Hidden / Shadow Codes Worth Checking
- Mode $06, Test ID $81, Component ID $11: This dataset within a professional scan tool can show the raw camshaft timing deviation data. It can reveal a timing issue that is on the verge of triggering a P0012 code, but has not yet crossed the threshold to illuminate the Check Engine Light. (see via A professional scan tool capable of reading manufacturer-specific Mode $06 data.)
Scan Tool Commands That Help
- Subaru Select Monitor (SSM) or equivalent professional scanner: Actuator Test / Bidirectional Control for AVCS Intake VVT — This function allows a technician to directly command the Bank 1 intake OCV solenoid to activate (e.g., cycle it on and off). It is used to verify if the solenoid clicks audibly and if the camshaft angle changes on live data, which isolates the fault between the solenoid itself, wiring, or a mechanical/hydraulic blockage.
Wiring & Ground Locations
- OCV Connector (E24 on some diagrams) — On the front of the passenger side (Bank 1) cylinder head, plugging into the intake Oil Control Valve.. This connector is the subject of TSB 02-170-17R. It must be inspected for oil intrusion, which indicates a failed OCV seal. The connector has two pins: Pin 1 is typically 12V+ from the main relay, and Pin 2 is the duty-cycle ground signal from the ECM.
- Engine Ground (GE) — A key engine ground point (GE) is located on the passenger side of the intake manifold, near the AVCS solenoid area.. A loose or corroded ground at this location can cause insufficient or erratic current flow to the OCV solenoid, preventing it from operating correctly and mimicking the symptoms of a failed solenoid.
- Engine Harness to Bulkhead Harness Connector — On top of the engine, often near the coolant crossover pipe.. Per TSB 02-170-17R, if oil wicks from the OCV, this is the next major checkpoint. If oil is found inside this large connector, the engine harness may need extensive cleaning or replacement.
Real Owner Repair Stories
- LegacyGT.com forum user (Subaru Legacy GT (similar EJ engine, but AVCS principle is identical)) — P0011 and P0021 codes (over-advanced), rough running.
❌ Tried (didn't work) Oil changes, Replacing OCV solenoids
✅ What actually fixed it The user removed the banjo bolts for the AVCS oil feed lines and discovered the tiny mesh filters inside were clogged. After removing the filters, cleaning the bolts, and reinstalling, the codes were resolved and the car ran perfectly. - YouTube video by 'Eric Auto Center' (Toyota with similar VVT system) — P0012 code, engine noise, rough idle.
❌ Tried (didn't work) Initial diagnosis pointed to just the VVT solenoid (OCV).
✅ What actually fixed it The problem was a combination of a failed VVT actuator (cam phaser/sprocket) and a worn timing chain tensioner. Replacing both the phaser and the tensioner resolved the noise and the P0012 code.
When the Usual Fixes Don't Work
- While low oil or a bad OCV are the cause over 90% of the time, there are documented cases where neither fix worked. In several forum threads, owners replaced the OCV and performed multiple oil changes with no resolution. The final fix was often removing the nearly-hidden banjo bolt filters that supply oil to the AVCS system. These tiny filters had become clogged with sludge, starving the system of pressure despite the main oil supply being clean. This indicates that on a higher-mileage or poorly maintained engine, simply changing the oil may not be enough to clear blockages upstream of the OCV.
OEM Part Supersession History
10921AA220→10921AA230, then 10921AA231— The newest part number, 10921AA231, features a redesigned internal oil seal to prevent the oil wicking issue described in TSB 02-170-17R.
Model Year Variations Within This Range
- 2014/2015 onwards: Around 2014, Subaru introduced revisions to the FB25 engine, including changes to piston rings and a slight increase in compression ratio (from 10.0:1 to 10.3:1) to help address the oil consumption issues that can lead to P0012. Later models (2019+) received the FB25D variant with direct injection, but the AVCS system and P0012 causes remain fundamentally the same.
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 Oil Consumption 🔴 High — Common enough to trigger a class-action lawsuit, particularly affecting 2013-2014 models. Owners may need to add oil between changes. (Ref: Settlement extended powertrain warranty to 8 years/100,000 miles for affected vehicles.)
- CVT Transmission Issues (Shudder, Hesitation) 🔴 High — Widespread enough for Subaru to issue a warranty extension for the CVT to 10 years/100,000 miles for many models, including the Legacy. (Ref: Subaru CVT Warranty Enhancement Program (e.g., TSB 16-139-22 for some models).)
- Failing Starlink Infotainment System 🟠 Medium — Very common across 2015-2019 models. Issues include freezing, phantom touches, rebooting, and backup camera failure. Led to multiple class-action lawsuits. (Ref: Multiple software update TSBs were released, but many owners report issues persist until the head unit is replaced.)
- Dead Battery / Parasitic Drain 🟡 Low — Reported by numerous owners of 2015-2020 models. The issue is often attributed to the CAN system not allowing the car to fully 'sleep', draining the battery.
- Cracked Windshields 🟡 Low — Some owners report windshields are prone to cracking easily, potentially due to the large glass area and body flex.
Used vs. New Parts: Buying Guide for This Vehicle
When a used part is the smart pick: A used Oil Control Valve (OCV) from a low-mileage, reputable junkyard can be a cost-effective option, as it is an external, bolt-on part. It is not a high-wear item in the traditional sense, but rather fails from clogging or electrical issues.
Donor-vehicle mileage cap: roughly under 80000 miles for the part to have meaningful remaining life.
What to inspect on the donor part:
- Inspect the electrical connector pins on the donor OCV. They must be perfectly clean and free of any oil residue.
- Check the production lot number on the face of the solenoid. If the first five digits are '17159' or higher, it is the updated part with the better seal.
- Look at the mesh screens on the valve body. They should be intact and free of metallic debris or heavy sludge.
- Ask for the VIN of the donor car to check its service history if possible, avoiding donors with known engine sludge problems.
OEM-only on this vehicle (don't cheap out):
- Camshaft Phaser / AVCS Sprocket
Aftermarket brands forum-validated for this vehicle:
- Denso (often the OEM manufacturer for Subaru electrical parts)
Brands owners have reported issues with on this vehicle:
- Unbranded or generic 'white-box' solenoids from online marketplaces have a high rate of premature failure or being dead-on-arrival according to forum discussions.
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
Subaru Outback 2.5L H4 (FB25)
Symptoms: Check Engine Light with code P0012.
What fixed it: Replacement of the Oil Control Valve with a non-defective unit; the owner noted that a previously installed part from an unreliable source had failed to clear the code.
Source hint: owner_reports source_name: eBay
2013 Subaru Legacy 2.5L (FB25)
Symptoms: Excessive oil consumption leading to low oil levels and timing-related error codes.
What fixed it: Repair or engine monitoring under the 8-year/100,000-mile warranty extension resulting from the class-action lawsuit regarding defective piston rings.
Source hint: TSB 02-157-14R (and related lawsuits)
Related OBD-II Codes
Frequently Asked Questions
Does TSB 02-170-17R apply to my 2015 Subaru Legacy?
Is there a warranty extension for the oil consumption issues causing my P0012 code?
Can I use 5W-30 oil in my FB25 engine to stop the P0012 code?
Why did my mechanic suggest swapping parts between Bank 1 and Bank 2?
Could my P0012 code be related to the CVT transmission warranty extension?
What happens if I ignore the oil leaking into the OCV connector?
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 Legacy:
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2013-2019 Subaru Legacy
- 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
- Diagnostic Flowchart
- Other Known Issues on This Vehicle
- Used vs. New Parts: Buying Guide for This Vehicle
- Real Owner Stories
- Subaru Outback 2.5L H4 (FB25)
- 2013 Subaru Legacy 2.5L (FB25)
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off