Skip to content
Skip to content

OBD-II Code · Fuel & Air

P1009

Manufacturer-Extended Powertrain Code (P1009)

low severitySafe to drive$50-$2,000

See deep dive below for full diagnostic context.

Common symptoms

  • CEL

Likely causes

  • See deep dive

Where to start

  1. Try the cheapest cause first. Start by checking: see deep dive.
  2. Cost & scope. $50-$2,000
  3. If the code returns after the fix: escalate to a shop or scanner with live-data and freeze-frame. A code that re-sets means the underlying fault is still there.
Read the full diagnostic procedure

P1009 on Mazda Skyactiv-G is a VVT (Variable Valve Timing) oil control solenoid code — the ECU detected that the VVT phaser on the intake (or exhaust on dual-VVT applications) failed to respond to commanded oil flow within the expected window. Skyactiv-G uses hydraulic VVT actuators controlled by oil control valves (OCVs) similar in concept to Subaru AVCS, but Mazda's implementation runs at the highest mechanical compression ratio in production (13:1 or 14:1 depending on market) and is sensitive to oil pressure, viscosity, and cleanliness. Cheapest-first ladder: (1) Oil first. Skyactiv-G specs 0W-20 synthetic and is intolerant of long oil change intervals — Mazda's recommended interval is 7,500 miles but practical experience says 5,000 for VVT health. Black or overdue oil is the #1 cause of P1009 on Skyactiv platforms. Change with the correct viscosity and a real Mazda or premium aftermarket filter. (2) Scan live data: commanded VVT angle vs. actual at warm idle. Skyactiv-G OCVs operate on a 0-100% duty cycle with intake cam advance from 0 to about 50 degrees; actual should track commanded within 3 degrees at idle and 5 degrees under load. (3) Resistance-check the OCV: typical Skyactiv-G OCV winding measures 6-8 ohms cold (verify with Mazda service literature for your specific engine and year). Out-of-spec means replace. (4) Pull the OCV and inspect the inline oil screen, identical pattern to Subaru AVCS — the screen clogs with varnish from extended oil change intervals and starves the phaser of oil pressure. Clean with brake cleaner. (5) Most expensive: VVT phaser/cam sprocket assembly itself, which requires timing chain removal on Skyactiv-G ($1,200-$2,000 in labor on a transverse Skyactiv). Don't replace the OCV before checking the oil and screen — Skyactiv-G is more oil-sensitive than the Subaru EJ-series and 70% of P1009 cases clear with a fresh oil change plus screen clean.

Vehicle-specific patterns

Vehicle-specific patterns: 2014-2018 Mazda CX-5 with Skyactiv-G 2.0L and 2.5L is the volume P1009 platform — the OCV oil screen clogs at 80,000-110,000 miles on owners who follow Mazda's 7,500-mile interval; shops that recommend 5,000-mile intervals see this code far less. 2014-2019 Mazda3 and 2014-2021 Mazda6 with Skyactiv-G 2.0L/2.5L follow the same pattern. 2013-2016 CX-9 with the 3.7L Duratec (pre-Skyactiv 2.5T) throws P1009 less often but the diagnostic is similar. 2016+ MX-5 Miata ND with Skyactiv-G 2.0L sees P1009 occasionally on tracked cars where high-rpm operation accelerates OCV wear; track-day owners should shorten oil intervals to 3,000 miles. Estimated repair: $80 (oil change + OCV screen clean DIY) to $2,200 (full VVT phaser + timing chain service on transverse Skyactiv CX-5).

Related codes

Look up another code

← All OBD-II codes

More free tools

VIN DecoderDecode year, make, model, engine, recalls.Maintenance ScheduleOil, timing belt, fluids, by vehicle.Gas CostWeekly, monthly, annual fuel math.Tire SizeOEM vs new — diameter delta + speedo error.

See all 9 tools