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 🛍️ Shop This Part

P0021 on 2017-2019 Cadillac XT5: Camshaft Timing Causes and Fixes

On a 2017-2019 Cadillac XT5, code P0021 is most often caused by an Engine Control Module (ECM) software issue that requires a dealer reprogram, as detailed in GM Technical Service Bulletins. Before heading to the dealer, check for low or dirty engine oil, as this is a simple and common cause. A sticking camshaft position actuator solenoid is the next most likely mechanical fault.

15 minutes to read 2017-2019 Cadillac XT5
Most Likely Cause
Engine Control Module (ECM) Software Issue
Difficulty
2/5
Est. Time
1.2 hrs
DIY Doable?
✅ Yes
Shop Labor
$150 – $450
Parts Price
$30 – $100
⚠️ Drivable, but... — Yes, but it's not recommended for extended periods. Continued driving can lead to poor fuel economy, stalling in traffic, and potentially increased carbon buildup in the engine. If you hear any knocking or rattling noises, you should stop driving to avoid severe engine damage.
Key Takeaways
  • For the 2017-2019 Cadillac XT5, P0021 is frequently caused by a software glitch that requires a dealer to reprogram the ECM, as per TSB N192266190.
  • Before assuming a major repair, always check the engine oil level and condition. Low or dirty oil is a common and simple cause for this code.
  • The most likely mechanical part to fail is the Bank 2 (front/radiator side) intake camshaft actuator solenoid.
  • Do not confuse the camshaft position *sensor* with the actuator *solenoid*; this code usually points to the solenoid.
  • This code is often seen with P0011, P0014, and P0024. If they appear together, it strongly suggests the ECM software issue is the root cause.
The trouble code P0021 stands for "'A' Camshaft Position - Timing Over-Advanced (Bank 2)". This means the Engine Control Module (ECM) has detected that the intake camshaft on Bank 2 is positioned further advanced than the ECM has commanded it to be. Bank 2 on the 3.6L V6 engine is the cylinder bank closer to the radiator, and the 'A' camshaft is the intake camshaft. This over-advanced condition causes the intake valves to open sooner than they should, which can disrupt engine performance, increase emissions, and cause rough running.

What's Unique About the 2017-2019 Cadillac XT5

For this specific generation of Cadillac XT5 with the 3.6L LGX engine, General Motors has issued Technical Service Bulletins (TSBs) indicating that code P0021, often along with P0011, P0014, and P0024, can be triggered by a software glitch in the Engine Control Module (ECM). This is particularly noted to occur after an auto stop/start event, causing drivability issues. To facilitate smoother restarts, the LGX engine uses 'mid-park' cam phasers that set the camshafts in an optimal position when the engine shuts off. A glitch in the control of this system is the root of the software-related P0021 code. Unlike many other vehicles where this code points directly to a mechanical fault, the primary manufacturer-recommended fix for the XT5 is often an ECM reprogram.

Diagnostic Flowchart

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

Which of these best describes your XT5's current condition and OBD-II codes?
→ Perform an oil and filter change using ACDelco dexos1 Full Synthetic 5W-30 (approx $50-$100). Clear the code and retest.
→ Contact a GM dealership to verify if your VIN is affected by TSB N192266190. This requires a free ECM software reprogram.
Have you tested the Bank 2 intake camshaft position actuator solenoid?
→ Swap the Bank 2 intake and exhaust solenoids. If the code changes to P0024, replace the intake solenoid (OEM 12687225, $30-$80).
→ Have a shop inspect for sticking Park Lock Solenoids (TSB PIP5730B) or a stretched timing chain (estimated labor $150-$450).

Symptoms You May Notice

  • Check Engine Light is on
  • Engine runs rough, especially at idle
  • Reduced engine power or hesitation during acceleration.
  • Engine may stall, particularly when coming to a stop.
  • Poor fuel economy.
  • Hard starting.
  • Rattling noise from the engine.
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the camshaft position *sensor* instead of the camshaft position actuator *solenoid*. The sensor reads the position, while the solenoid controls it. P0021 is a performance code related to the control system, not typically the sensor itself.

Most Likely Causes

  1. Engine Control Module (ECM) Software Issue 🔴 High Probability → Shop Engine Control Module (ECM) As per GM TSBs N192266190 and PIP5568E, a software anomaly can incorrectly set this code, often after an auto stop/start event. This is a widely documented issue affecting the XT5 and its platform mates with the LGX engine.
    How to confirm: A GM dealership or a qualified repair shop can verify if your vehicle's VIN is affected by TSB N192266190 and if the ECM has the latest software version. They can check this in the GM Global Warranty Management system.
    Typical fix: Reprogram the Engine Control Module (ECM) with updated software provided by the manufacturer. The TSB states dealers will perform this reprogram, which requires a stable battery voltage during the procedure.
    Est. part cost: $0 (if covered under warranty/TSB)
  2. Low or Dirty Engine Oil 🟡 Medium Probability The Variable Valve Timing (VVT) system uses oil pressure to adjust the camshafts. If the oil is low, dirty, or the wrong viscosity, it can clog the small passages in the VVT solenoids and cause them to stick. A Reddit user with a 2017 Camaro (same LGX engine) reported that dirty, sludgy oil triggered both P0011 and P0021, and an oil change resolved the codes.
    How to confirm: Check the engine oil level on the dipstick and inspect its condition. If it's dark, gritty, or below the 'add' line, it needs attention. This should always be the first step.
    Typical fix: Perform an oil and filter change using the correct specification oil (ACDelco dexos1 Full Synthetic 5W-30 is recommended).
    Est. part cost: $50-$100
  3. Faulty Camshaft Position Actuator Solenoid (Bank 2 Intake) 🟡 Medium Probability → Shop Engine Camshaft These solenoids control oil flow to the cam phasers. They can become clogged with sludge or fail electrically, causing them to get stuck in one position. They are a common failure point across the GM 3.6L engine family.
    How to confirm: A common DIY diagnostic is to swap the Bank 2 intake solenoid with the Bank 2 exhaust solenoid (if they are the same part number). Clear the codes and drive the vehicle. If the code changes to P0024 (Exhaust Camshaft Position), the solenoid is faulty. Alternatively, a multimeter can be used to check the solenoid's resistance, which should be between 6.9 and 7.9 ohms at room temperature.
    Typical fix: Replace the Bank 2 intake camshaft position actuator solenoid. It is often recommended to apply a film of clean engine oil to the O-rings of the new solenoid before installation. 🎬 See this step-by-step solenoid replacement walkthrough
    Est. part cost: $30-$80

Rare But Worth Checking

  • Sticking Intake Camshaft Position Actuator Park Lock Solenoid Valve: → Shop Engine Camshaft GM TSB PIP5730B identifies an issue where these specific valves, which are part of the stop/start system's cam phasing, can stick or come apart. This can cause P0021, often without any other drivability symptoms. The fix is to inspect and, if necessary, replace the affected solenoid valves.
  • Stretched Timing Chain: → Shop Engine Timing Chain While more common on the older 3.6L LFX/LLT engines, a stretched timing chain can still occur on the LGX, especially with poor oil maintenance or high mileage. This is a much more involved and expensive repair.
  • Faulty Camshaft Phaser: → Shop Engine Camshaft The phaser is the mechanical gear at the end of the camshaft that actually does the rotating. It can fail mechanically, getting stuck in the advanced position, but this is less common than a solenoid or oil issue.

Diagnosis Steps

  1. Scan for other DTCs. The presence of codes like P0011, P0014, or P0024 is significant and points towards the TSBs.
  2. Check Engine Oil Level and Condition. This is the simplest and most crucial first step. If the oil is low or dirty, perform an oil change with the correct dexos1 5W-30 oil and filter. Clear the code to see if it returns.
  3. Inspect Solenoid Wiring. Check the connector and wiring for the Bank 2 intake camshaft actuator solenoid for any damage or corrosion. On the 3.6L V6, Bank 2 is the bank closer to the front of the vehicle.
  4. 🎬 Watch: Locate the cam solenoids on your 3.6L engine
  5. Consult a Dealer about TSBs. If the oil is clean, contact a GM dealership. Reference TSB #N192266190 and ask them to check if your vehicle needs an ECM reprogram. This is a very common fix for this specific issue.
  6. Test the Solenoid. If the TSB does not apply or the reprogram does not fix it, test the solenoid. A common DIY test is to swap the intake and exhaust solenoids on Bank 2. Clear the codes and drive the vehicle. If the code returns as P0024, the solenoid you moved is faulty and needs replacement.
  7. Inspect Park Lock Solenoids. If the issue persists, the Intake Camshaft Position Actuator Park Lock Solenoid Valves may be sticking, as per TSB PIP5730B. This requires inspection and potential replacement.
  8. Professional Diagnosis. If all the above steps fail to resolve the issue, a more in-depth mechanical diagnosis is required to check for a stretched timing chain or a faulty camshaft phaser.

Parts You'll Likely Need

  • Camshaft Position Actuator Solenoid (OEM #12687225, 12687167) — This solenoid is a common failure point. It gets clogged with debris or fails electrically, causing it to stick and trigger the over-advanced code. A user on a Camaro forum confirmed replacing a similar solenoid with P/N 12687167 to fix a P0014 code.
    Trusted brands: ACDelco (GM Genuine Parts), Dorman, Delphi
    OEM price range: $50-$80
    Aftermarket price range: $30-$60
  • Engine Oil and Filter — The VVT system is highly sensitive to oil quality and level. Using the correct oil (dexos1 specification) is critical for preventing this code. In some cases, this is the only fix needed.
    Trusted brands: ACDelco, Mobil 1, Pennzoil
    OEM price range: $60-$100
    Aftermarket price range: $50-$80

Related Codes That Often Appear With This One

  • P0011 — This is the corresponding code for Bank 1 intake camshaft. Seeing both P0011 and P0021 together points to a systemic issue like oil pressure/quality or the ECM software glitch mentioned in TSBs.
  • P0014 — This is the code for the Bank 1 exhaust camshaft. It is often cited along with P0021 in the GM service bulletins related to the ECM software issue.
  • P0024 — This is the code for the Bank 2 exhaust camshaft. Seeing P0021 and P0024 together points to an issue on Bank 2, such as an oil flow problem to that cylinder head. Swapping the intake and exhaust solenoids on Bank 2 may cause the code to change from P0021 to P0024, confirming a bad solenoid.
  • 🎬 Watch: How to diagnose and fix a P0021 code

Technical Service Bulletins (TSBs) & Recalls

  • N192266190 02: Addresses rough running/stall after auto-stop and DTCs P0011, P0021, P0014, P0024, fixed by an ECM reprogram

Platform-Specific Known Issues

  • TSB #N192266190 / N192266190 02: GM identifies a condition where, after an auto stop/start event, the engine may run rough, have reduced power, or stall, setting codes P0011, P0014, P0021, and/or P0024. The official fix is to reprogram the Engine Control Module (ECM). This TSB also applies to the Buick Enclave/LaCrosse and Chevy Traverse.
  • TSB #PIP5568E: This preliminary bulletin documents an investigation into these same camshaft timing codes (P0011, P0014, P0021, P0024) setting together or in pairs, indicating a known issue that the manufacturer was actively tracking. GM Engineering was evaluating the condition where the ECM would report cam positions as zero while still commanding movement.
  • TSB #PIP5730B: Details a potential cause for P0021 (and related codes) from sticking Intake Camshaft Position Actuator Park Lock Solenoid Valves, which can occur without other drivability concerns.

Mechanic-Grade Diagnostic Values

  • Camshaft Position Actuator Solenoid Resistance — expected: 6.9 to 7.9 Ohms at 68°F (20°C). Some sources state a broader range of 8 to 12 Ohms.. Failure: A resistance reading outside the specified range, or an open/short circuit, indicates a faulty solenoid.
  • Scan Tool Live Data: Desired vs. Actual Camshaft Position — expected: The actual camshaft position angle should closely track the desired angle commanded by the ECM.. Failure: The ECM sets code P0021 when it detects the difference between the desired and actual camshaft position angle is greater than 5 degrees for more than 2.5 seconds.
  • Scan Tool Test: Camshaft Position Variance — expected: When commanding the Camshaft Position Actuator from 0–20° and back to 0° with a scan tool, the variance should be less than 2°.. Failure: A variance of 2° or greater suggests a problem in the VVT circuit or components.
  • Scan Tool Mode $06 Data — expected: The VVT Monitor Test Results should show that the degrees of error are within the specified tolerance.. Failure: Mode $06 can reveal the specific degrees of error that caused the test to fail, confirming an out-of-spec condition without having to catch it in live data.

Scan Tool Commands That Help

  • GDS2 / Professional Scan Tool: Camshaft Position Actuator Control — This bidirectional control allows a technician to command the solenoid to various positions (e.g., 0° to 20°) while monitoring the actual position to test the solenoid's response and check for sticking.
  • GDS2 / Professional Scan Tool: VVT Intake Solenoid 2/1 Actuation — This function commands the solenoid to the 'ON' (maximum) position, which is used in conjunction with a test light to verify the driver circuit from the ECM is functioning correctly.

Wiring & Ground Locations

  • G101 — Located at the lower front of the engine block.. This is a primary ground for the Engine Control Module (ECM). A poor connection here can cause a wide range of engine control issues, including incorrect sensor readings or actuator commands.
  • G107 / G110 — On the 3.6L LGX engine, G107 is on the front of the right cylinder head and G110 is on the left rear of the engine above the exhaust manifold.. These are primary engine grounds. A loose or corroded ground on a cylinder head can affect the performance of sensors and actuators located on that head, such as the camshaft position sensors and solenoids.
  • Bank 2 Camshaft Actuator Solenoid Connector — On the front of the engine, on the cylinder head closer to the radiator (Bank 2). The intake solenoid is the upper of the two solenoids.. This is the direct electrical connection for the component in question. The connector and its wiring are common points of failure due to heat, vibration, and potential oil contamination.

When the Usual Fixes Don't Work

  • While the most common fixes for P0021 on this vehicle are an ECM reprogram or replacing the VVT solenoid, there are documented edge cases where these repairs are not sufficient. GM Technical Service Bulletin PIP5730B points to a failure of the 'Intake Camshaft Position Actuator Park Lock Solenoid Valves,' which can stick or come apart, causing this code without other symptoms. If the common fixes fail, these specialized solenoids related to the stop/start system should be inspected before proceeding to more expensive repairs like timing chain or phaser replacement.

OEM Part Supersession History

  • 1268716712732244 — Part has been updated by the manufacturer. The new part number replaces a long list of previous versions.
    Heads up: 12732244 is the current recommended replacement for 12687167 and several other older part numbers like 12671336, 12680964, and 12690515.
How to Replace VVT Solenoids 2017-2023 GMC Acadia 3.6L V6
How to Replace VVT Solenoids 2017-2023 GMC Acadia 3.6L V6
Chevrolet GMC Cadillac 3.6L cam sensor solenoid location
Chevrolet GMC Cadillac 3.6L cam sensor solenoid location
2010 - 2016 Cadillac SRX P0021 FIX
2010 - 2016 Cadillac SRX P0021 FIX
How To Fix P0021 Code | Camshaft Position Timing Over Advanced - Bank 2 Solenoid Repair
How To Fix P0021 Code | Camshaft Position Timing Over Advanced - Bank 2 Solenoid Repair
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 Apr 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 P0021 for:
  • Cadillac XT5: 201720182019
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