P0016 on a Subaru: Causes, Fixes & Repair Cost
๐ Moderate severity ยท drivable
You can often drive a Subaru short distances with P0016, but if it runs rough, stalls, or won't start, stop driving โ a jumped timing chain can cause major engine damage.
What P0016 means on a Subaru
On a Subaru, P0016 means the crankshaft and camshaft position sensors on bank 1 don't line up. Subaru boxer engines use the AVCS variable valve timing system, which runs on engine oil pressure, so this code often points to low oil pressure, a clogged AVCS solenoid, or a stretched timing chain.
Is P0016 common on Subarus?
P0016 is seen on Subaru models like the Outback, Forester, and Impreza. The AVCS solenoids and timing chains are sensitive to low oil levels and dirty oil, so neglected maintenance is a common trigger.
Commonly reported on: Outback, Forester, Impreza, Legacy.
Symptoms
- Check engine light on
- Rough idle or stalling
- Hard starting in some cases
- Loss of power or poor fuel economy
Common causes
- most common: Low oil level or low oil pressure
- common: Clogged AVCS solenoid
- common: Stretched or jumped timing chain
- less common: Faulty camshaft position sensor
- less common: Worn chain guide
How to fix it
| Fix | DIY? | Typical cost |
|---|---|---|
| Check and top off the engine oil, and change it if it is dirty | Yes | $30โ80 |
| Replace a clogged AVCS solenoid | Yes | $150โ400 |
| Replace the timing chain kit if it is stretched | Mechanic | $1200โ2500 |
| Replace a faulty camshaft position sensor | Yes | $100โ250 |
Frequently asked questions
Other common Subaru codes
P0016 on other brands
Looking for the full (non-brand-specific) guide? See the P0016 code page โ
Browse all Subaru codes: Subaru hub โ
Updated 2026-08. This page is informational and not a substitute for professional diagnosis.