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

P0016 on 2009-2019 Toyota Corolla: Crank/Cam Correlation Causes and Fixes

On the 2009-2019 Toyota Corolla, code P0016 is most often caused by low/dirty engine oil or a failing Oil Control Valve (VVT solenoid). An oil change and a new solenoid can often fix it for under $150. If that doesn't work, the timing chain may be stretched, which is a more expensive, professional repair.

19 minutes to read 2009-2019 Toyota Corolla
Most Likely Cause
Low or Dirty Engine Oil
Est. Time
4.2 hrs
Shop Labor
$150 – $1500
Parts Price
$40 – $400
⚠️ Drivable, but... — You can drive, but it's not recommended for long. The vehicle may have reduced power, poor fuel economy, and a rough idle. Ignoring the issue could lead to more severe engine problems, especially if the timing chain is the root cause, as a snapped chain can cause catastrophic engine damage.
Key Takeaways
  • Always check your engine oil first. Low or dirty oil is a primary cause of P0016 on this engine.
  • The most likely failed part is the Oil Control Valve (VVT Solenoid) for the intake camshaft. It's affordable and easy to access.
  • Do not immediately assume the camshaft or crankshaft sensors are bad; they are often replaced unnecessarily.
  • If an oil change and new OCV don't fix the code, the issue is likely a stretched timing chain, which requires professional diagnosis and repair.
P0016 stands for 'Crankshaft Position - Camshaft Position Correlation (Bank 1, Sensor A)'. On your Corolla's 2ZR-FE engine, the Engine Control Module (ECM) constantly compares the rotational position of the crankshaft with the intake camshaft ('Sensor A'). If the two signals are out of sync beyond a specific number of degrees for more than a few seconds, the ECM flags this error, indicating a problem with the engine's mechanical timing or the Variable Valve Timing (VVT) system. This means the engine's valves are not opening and closing in perfect harmony with the pistons' movement.

What's Unique About the 2009-2019 Toyota Corolla

The 2ZR-FE engine, like many modern Toyota engines, relies heavily on its VVT-i (Variable Valve Timing with intelligence) system for both efficiency and power. This system uses engine oil pressure, controlled by an Oil Control Valve (OCV), to adjust cam timing. Consequently, this engine is particularly sensitive to oil quality and level. Many P0016 cases on this platform are directly linked to oil maintenance issues, where sludge from infrequent oil changes can clog the small passages and filters within the VVT system, leading to a timing correlation fault long before any hard parts like the chain itself fail. A tell-tale sign of a sludged OCV or actuator is the code appearing intermittently, especially during stop-and-go traffic when the engine is not fully up to temperature.

Generation note: This range covers the 10th generation (2009-2013) and 11th generation (2014-2019) of the Toyota Corolla. The 2ZR-FE engine and its VVT-i system are fundamentally the same across these generations, so the causes, symptoms, and fixes for P0016 are consistent. The same engine is also used in many other Toyota, Scion, and Pontiac models, which share this issue.

Symptoms You May Notice

  • Check Engine Light is on
  • Rough or unstable idle
  • Engine hesitates or feels sluggish during acceleration
  • Reduced engine power, sometimes described as the vehicle going into a 'safe mode'
  • Noticeably worse fuel economy
  • Rattling or ticking noise from the engine, especially at low speeds or on startup
  • Engine is hard to start or cranks but won't start
  • Engine stalls, particularly when idling
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the camshaft or crankshaft position sensors when the root cause is mechanical (stretched chain) or hydraulic (clogged OCV or low oil).
  • Replacing the timing chain when the issue was simply a bad Oil Control Valve (VVT Solenoid).
  • Assuming the engine is failing catastrophically before checking simple, inexpensive causes like oil level and the OCV.

Most Likely Causes

  1. Low or Dirty Engine Oil 🔴 High Probability The VVT-i system uses oil pressure to function. Sludge from infrequent oil changes can clog the Oil Control Valve (OCV) or its small filter screen, preventing proper timing adjustments. Low oil level or using the incorrect oil viscosity can also starve the VVT phaser of the pressure it needs to operate correctly.
    How to confirm: Check the oil level on the dipstick and inspect its color and consistency. If the oil is very dark, thick, or below the minimum level, this is a likely contributor. An oil pressure test with a mechanical gauge can confirm if pressure is below the recommended minimum (typically at least 25 PSI at idle).
    Typical fix: Perform an engine oil and filter change using the manufacturer-recommended oil viscosity (0W-20). In cases of heavy sludge, an engine flush may be considered by a professional. Always address oil issues first before replacing parts.
    Est. part cost: $30-$60
  2. Faulty Oil Control Valve (OCV) / VVT Solenoid 🔴 High Probability → Shop Engine Variable Valve Timing (VVT) Solenoid This solenoid is an electro-mechanical part that operates constantly and is susceptible to failure from both electrical issues and physical clogging from oil debris. It's a very common failure point for P0016 on these engines.
    How to confirm: The OCV can be tested by applying 12V to its terminals to see if it actuates (clicks). You can also check its resistance with a multimeter; a typical reading should be between 6.9 - 7.9 Ohms at room temperature. Often, the easiest diagnostic is to remove it (held by one 10mm bolt) and inspect its screen for sludge and debris.
    Typical fix: Replacement of the Bank 1 (intake) Oil Control Valve. It is located on the top of the engine and is typically held in by a single 10mm bolt, making it an easy DIY job. 🎬 Watch: Step-by-step guide to replacing the Oil Control Valve. Sometimes just cleaning the screen is sufficient, but replacement is recommended.
    Est. part cost: $40-$120
  3. Stretched Timing Chain 🟡 Medium Probability → Shop Engine Timing Chain While Toyota timing chains are durable, they can stretch over high mileage (typically 100k+ miles), especially if oil changes have been neglected, causing accelerated wear on the chain's pins and bushings. A stretched chain will cause the cam/crank correlation to be permanently out of spec.
    How to confirm: This is a mechanical issue that requires removing the valve cover to physically inspect the chain for slack. A persistent rattling noise on startup is a strong indicator. A Reddit user with a 2013 Scion xB (same engine) confirmed their P0016 code was ultimately caused by a stretched chain at high mileage (350k miles). 🎬 See a deep dive into diagnosing timing chain stretch issues. This is best confirmed by a professional mechanic who can check timing marks.
    Typical fix: Replacement of the timing chain, guides, and tensioner. This is a labor-intensive job that often requires professional service.
    Est. part cost: $150-$400 for a kit
  4. Faulty Camshaft or Crankshaft Position Sensor ⚪ Low Probability → Shop Engine Crankshaft Position Sensor
    How to confirm: Use a scan tool with an oscilloscope function to monitor live data from both sensors to check for erratic or missing signals. A failing sensor may also trigger a separate, sensor-specific fault code (e.g., P0335, P0340). A visual inspection of the sensor tip can sometimes reveal metal shavings, indicating other mechanical issues.
    Typical fix: Replace the faulty sensor. The camshaft sensor is easily accessible on top of the engine, while the crankshaft sensor is located lower down on the front of the engine block, requiring removal of the passenger side wheel and a plastic splash shield for access.
    Est. part cost: $40-$100

Rare But Worth Checking

  • Failed Timing Chain Tensioner: → Shop Engine Timing Chain The tensioner can fail on its own, allowing the chain to become slack even if it isn't stretched. This can cause timing to jump and is a serious mechanical issue.
  • Clogged VVT-i Camshaft Gear (Actuator): → Shop Engine Camshaft The actuator itself can become clogged with sludge or fail internally, preventing it from adjusting timing correctly even with a good OCV.
  • Clogged Oil Pickup Tube Screen: In cases of extreme engine sludge, the oil pickup tube screen in the oil pan can become clogged, starving the entire engine of oil pressure and causing the VVT system to malfunction and set a P0016 code.
  • Slipped Reluctor Ring: The tone ring on the camshaft or crankshaft that the sensor reads can physically slip or become damaged, causing an incorrect reading even if all sensors and mechanical timing are correct. This is a rare and difficult-to-diagnose mechanical failure.

Diagnosis Steps

  1. Check Engine Oil: Verify the oil level is correct and the oil is clean. If in doubt, perform an oil and filter change with 0W-20 oil. This is the cheapest and easiest first step and solves the problem more often than you'd think.
  2. Scan for Codes: Use an OBD-II scanner to confirm P0016 and check for any other related codes. Freeze frame data can show engine conditions when the code was set.
  3. Inspect the Oil Control Valve (OCV): Remove the intake OCV (top of the engine, single 10mm bolt). Inspect its filter screen for metal shavings or sludge. Clean or replace as necessary. This is a very common point of failure.
  4. Test the OCV: While removed, you can apply a 12V power source to the OCV terminals to confirm it clicks open and closed. If it's silent or sluggish, it has failed. Test resistance across the two pins; it should be 6.9-7.9 Ohms.
  5. Inspect Wiring: Check the wiring and connectors to the camshaft sensor, crankshaft sensor, and OCV for any damage, corrosion, or loose connections.
  6. Check for Timing Chain Slack: If the above steps do not resolve the issue, the next step is to remove the valve cover and inspect the timing chain for excessive slack or damage. A rattling noise on startup is a strong clue this is the problem. This is a more advanced step.
  7. 🎬 Watch: How to re-time the engine and reinstall the chain.
  8. Professional Diagnosis: If you are not comfortable performing mechanical inspections, take the vehicle to a qualified mechanic. They can use an oscilloscope to test sensors properly, verify timing marks, and confirm if a timing chain replacement is necessary.

Parts You'll Likely Need

  • Engine Oil Control Valve

Related Codes That Often Appear With This One

  • P0011 — Camshaft Position 'A' - Timing Over-Advanced. This code is also related to the intake cam timing and can appear with P0016 if the VVT system is malfunctioning.
  • P0012 — Camshaft Position 'A' - Timing Over-Retarded. Like P0011, this points to a VVT system fault and can be caused by the same issues as P0016, such as a bad OCV or low oil pressure.
  • P0340 — Camshaft Position Sensor 'A' Circuit. This code points specifically to an electrical issue with the camshaft position sensor or its circuit, which can be a root cause for the P0016 correlation fault.
  • P0335 — Crankshaft Position Sensor 'A' Circuit. Similar to P0340, this code indicates a problem with the crankshaft sensor circuit, which would prevent the ECM from accurately comparing cam and crank positions.

Mechanic-Grade Diagnostic Values

  • VVT Learned Value (at idle, max retard) — expected: Between 25°CA and 51°CA (Crankshaft Angle). Failure: A learned value less than 25°CA or more than 51°CA for over 18 seconds will trigger the DTC. Some documents state a range of 30-46°CA, indicating slight variations between ECU calibrations.
  • VVT System Response (via Active Test) — expected: When commanding the OCV with a scan tool, the 'VVT Change Angle (Bank1)' PID should vary, and engine speed should change.. Failure: If the OCV duty cycle is commanded but the VVT change angle does not respond, it indicates a stuck OCV, clogged oil passage, or faulty VVT actuator.
  • Oil Control Valve (OCV) Resistance — expected: 6.9 - 7.9 Ω at 68°F (20°C). Failure: Resistance outside of this range, or an open/short circuit, indicates a failed solenoid coil.

Hidden / Shadow Codes Worth Checking

  • VVT Learned Value: This is not a code, but a critical data PID stored in the ECM. It represents the learned correlation between the cam and crank at idle. An out-of-spec value here is the direct cause for P0016 being flagged. (see via Professional scan tools like Toyota Techstream under the Engine Data List.)
  • Pending DTC: Before a code becomes permanent and illuminates the MIL, it may be stored as a 'pending' code after just one drive cycle. Checking for pending codes can reveal an intermittent P0016 before it becomes a constant problem. (see via Most modern OBD-II scanners and professional tools like Techstream.)

Scan Tool Commands That Help

  • Toyota Techstream: Active Test: 'Control the VVT System (Bank 1)' — This is used to directly test the VVT system's hydraulic and mechanical response. By commanding the OCV to operate, you can watch the 'VVT Change Angle' data PID to confirm if the solenoid, oil pressure, and VVT actuator are all working together. If the solenoid is commanded but the angle doesn't change, it isolates the problem to a physical or hydraulic issue rather than an electrical one.
  • Toyota Techstream: Data List & Freeze Frame Data — Always check Freeze Frame data first. It provides a snapshot of all engine parameters (RPM, coolant temp, vehicle speed, etc.) at the exact moment the P0016 code was set. This context is crucial for diagnosis (e.g., did it happen on a cold start, at idle, or at highway speed?).

Wiring & Ground Locations

  • Engine Harness Ground Points — There are several key ground points for the engine harness. One major ground strap connects the transmission case to the chassis. Another cluster of ground wires for the engine control system is typically bolted to the cylinder head or engine block near the intake side.. A poor ground connection can introduce electrical noise or voltage drops, potentially causing the ECM to receive an incorrect or erratic signal from the camshaft or crankshaft position sensors, leading to a false correlation code.
  • ECM Connectors — The Engine Control Module (ECM) is typically located in the engine bay, near the passenger side firewall or inside the vehicle behind the glove box.. The wiring for the Crankshaft Position Sensor (NE+, NE-), Camshaft Position Sensor (VC, V V T+), and Oil Control Valve (OC1+, OC1-) all terminate at the ECM. Checking for pin fitment, corrosion, or damage at these connectors is a critical step if a wiring issue is suspected.

Real Owner Repair Stories

  • Tacoma World forum user 'craigs1' (2007 Toyota 4Runner 1GR-FE (different engine, but identical P0016 diagnostic principle)) — P0016 code that would appear intermittently, especially in stop-and-go traffic when the engine wasn't fully warm.
    ❌ Tried (didn't work) Replacement of the Bank 1 Oil Control Valve (OCV), Replacement of the VVT actuator (cam gear), Replacement of the #1 chain tensioner
    ✅ What actually fixed it The user concluded the only remaining cause was a stretched (elongated) main timing chain. The fact that the new tensioner was already significantly extended was the key physical evidence. The final fix required a full timing chain, guide, and sprocket replacement.
  • Reddit r/MechanicAdvice user (2012 Toyota Corolla S, 171,000 miles) — P0016 code appeared the day after an oil change.
    ❌ Tried (didn't work) Replacing both VVT solenoids.
    ✅ What actually fixed it The user did not post a final resolution, but the community consensus pointed strongly towards a stretched timing chain, given the high mileage and the fact that replacing the common-fail solenoids did not solve the issue. This story is valuable as it represents a very common diagnostic path where initial, simpler fixes fail.

OEM Part Supersession History

  • 15330-3701015330-0T010 — Standard part revision and consolidation by Toyota.
    Heads up: The parts are interchangeable; 15330-0T010 is the current correct replacement part.
  • 13050-0T01013050-0T050 — Part updated by Toyota, potentially to address reliability or performance issues.
    Heads up: A forum user noted this supersession for the VVT actuator (cam gear), suggesting sticking to the latest OEM part is wise to avoid issues seen with aftermarket alternatives.

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 🟠 Medium — More common on earlier 2009-2011 models. Caused by piston ring design. Can lead to needing to add oil between changes. (Ref: T-SB-0094-11 (This TSB was for the 2AZ-FE engine but the issue is anecdotally known for early 2ZR-FE engines as well))
  • Water Pump Failure 🟠 Medium → Shop Engine Water Pump — Can fail prematurely, typically after 60k-100k miles. Symptoms include coolant leaks from the pump area, engine overheating, and a whining/grinding noise.
  • CVT Transmission Hesitation/Shudder 🟡 Low — Affects models from 2014 onwards equipped with the CVT. Owners report a shudder or hesitation when accelerating from a stop. Often addressed with software updates. (Ref: A recall was issued for some 2019 Corolla Hatchbacks for potential CVT failure.)
  • Steering Intermediate Shaft Clunk 🟡 Low — Some owners report a clunking or popping noise from the steering column during low-speed turns. This is caused by the intermediate steering shaft.
  • Valvematic Controller Failure (2ZR-FAE engine only) 🔴 High — Affects models with the 2ZR-FAE engine (e.g., Corolla LE Eco). The continuously variable valve lift controller can fail, leading to a very expensive repair. The standard 2ZR-FE is not affected.

Used vs. New Parts: Buying Guide for This Vehicle

When a used part is the smart pick: For easily accessible, bolt-on electrical components like the Oil Control Valve (VVT Solenoid) or the Cam/Crank Position Sensors. A used OEM part from a low-mileage donor vehicle is often more reliable than a new, cheap aftermarket part.

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

What to inspect on the donor part:

  • For a VVT solenoid, ensure the screen is intact and free of metal shavings.
  • Check the electrical connector for corrosion or damage.
  • Ask for the donor vehicle's mileage if possible.
  • Avoid parts from engines that show heavy oil sludge or signs of overheating.

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

  • Timing Chain
  • Timing Chain Tensioner and Guides
  • VVT Camshaft Actuator (Gear)

Aftermarket brands forum-validated for this vehicle:

  • Denso (often the OEM supplier)
  • Aisin
  • Hitachi (reported to be an OEM supplier for similar VVT systems)
  • Standard Motor Products (SMP)
  • NTK/WVE/Wells

Brands owners have reported issues with on this vehicle:

  • Unbranded, no-name parts from online marketplaces (e.g., Amazon, eBay) have a high rate of being dead-on-arrival or failing prematurely. While Dorman is a major brand, some users have reported issues with their VVT actuators for this application.

Real Owner Stories

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

2013 Scion xB 2ZR-FE 1.8L — 350000 miles

Symptoms: The vehicle threw a P0016 code at very high mileage.

What fixed it: The issue was ultimately confirmed to be a stretched timing chain.

Source hint: Reddit r/ScionxB thread titled 'Has anyone had a code P0016 pop up?'

2012 Toyota Corolla 1.8L

Symptoms: Check engine light on with code P0016.

What fixed it: Diagnostic steps recommended checking the Oil Control Valve (OCV) for sludge and verifying oil quality.

Source hint: Reddit r/MechanicAdvice thread titled '2012 Corolla OBD code P0016'

Frequently Asked Questions

Is there a TSB for the oil consumption issues on my early 2ZR-FE Corolla?
Yes, T-SB-0094-11 addresses excessive oil consumption caused by piston ring design. While originally for the 2AZ-FE, it is anecdotally known to affect early 2009-2011 2ZR-FE engines, which can lead to low oil pressure and P0016 codes.
Can I fix the P0016 code on my 2009-2019 Corolla by just cleaning a part?
Yes, in some cases. The Oil Control Valve (OCV) has a small filter screen that can become clogged with sludge or debris. Removing the single 10mm bolt to clean this screen is a recommended diagnostic step before replacement.
What is the correct oil viscosity to prevent VVT-i timing issues in my Corolla?
The manufacturer-recommended oil viscosity for the 2ZR-FE engine is 0W-20. Using the incorrect viscosity can starve the VVT phaser of the pressure needed to operate correctly, potentially triggering P0016.
How do I test if the VVT solenoid is bad on my 1.8L engine?
You can check the resistance across the two pins of the OCV using a multimeter; it should read between 6.9 and 7.9 Ohms at room temperature. You can also apply 12V to the terminals to see if the valve clicks open and closed.
My Corolla has over 150,000 miles and a rattling noise; is it the sensor or the chain?
On high-mileage 2ZR-FE engines (100k+ miles), a persistent rattling noise on startup combined with P0016 often indicates a stretched timing chain rather than a faulty sensor.
Where is the crankshaft position sensor located on the 2009-2019 Corolla?
The crankshaft sensor is located low on the front of the engine block. Accessing it typically requires removing the passenger side wheel and the plastic splash shield.
p0016 Toyota corolla
p0016 Toyota corolla
update P0016 Toyota Corolla
update P0016 Toyota Corolla
2007-2013 Toyota Corolla How to replace Camshaft Timing Oil Control Valve Sensor Yiannis Pagonis
2007-2013 Toyota Corolla How to replace Camshaft Timing Oil Control Valve Sensor Yiannis Pagonis
What Really Happens When Engine Timing Is Out? | Toyota Corolla 2ZR-FE 1.8L Problem Diagnosis & Fix
What Really Happens When Engine Timing Is Out? | Toyota Corolla 2ZR-FE 1.8L Problem Diagnosis & Fix
How to Fix Jumped Timing on Toyota 1.8L | Re-Time Engine & Reinstall Chain Without Marks
How to Fix Jumped Timing on Toyota 1.8L | Re-Time Engine & Reinstall Chain Without Marks
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 P0016 (Deep Dive) for:
  • Toyota Corolla: 20092010201120122013201420152016201720182019
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