P0315

Crankshaft Position System Variation Not Learned

P0315 is a generic OBD-II powertrain diagnostic trouble code: Crankshaft Position System Variation Not Learned. It is logged by the engine control unit when the ckp/cmp monitor detects that a specific fault threshold has been exceeded — typically resulting in the malfunction-indicator lamp (MIL / check-engine light) being illuminated.

Code
P0315
Group
Powertrain
System
CKP/CMP
Severity
Warning (MIL on)
Need P0315 disabled?
RaceTune permanently disables any OBD-II trouble code on supported ECUs — for motorsport, off-road, and export use.

What P0315 means

P0315 means the engine control module has not yet completed or stored the Crankshaft Position System Variation Learn procedure — commonly called the CKP Variation Learn or CASE (Crank Angle Sensing Error) Learn on GM vehicles, which are by far the most common platform where this code appears. This is not a sensor failure code per se; it is a flag indicating that the calibration data mapping the actual tooth-spacing variations of the crankshaft reluctor wheel to the PCM's internal reference has been lost or never performed. Without this calibration, the PCM cannot accurately subtract reluctor manufacturing tolerances from the crankshaft velocity signal, so misfire detection is disabled or unreliable.

The learn procedure must be (re)performed after any event that disrupts the relationship between the crankshaft and the PCM's stored variation table: PCM replacement or reprogramming, crankshaft position sensor replacement, harmonic balancer or flexplate replacement, major engine work such as a bottom-end rebuild, or battery disconnection on some calibrations. Until the relearn is completed, P0315 will remain stored and the PCM will inhibit the misfire monitoring system, meaning P0300–P031X codes cannot be generated even if misfires are occurring.

The CASE Learn procedure is performed with a bi-directional scan tool that supports the OEM-specific relearn function (factory GM Tech2, MDI, or capable aftermarket tools such as Snap-on, Autel, or Launch). The engine must reach full operating temperature, the procedure drives the engine to approximately 4,000 RPM (varies by engine: ~3,970 RPM for I4, 4,000 RPM for V8, 5,150 RPM for V6 passenger cars), holds briefly, then drops to idle. When complete, the PCM stores the new variation data and the code clears on the next key cycle.

Common causes

Most-frequently reported root causes when P0315 is logged.

  • 1
    CKP Variation Learn procedure not performed after PCM replacement or reprogramming.
  • 2
    Crankshaft position sensor replacement without subsequently running the CASE Learn procedure.
  • 3
    Harmonic balancer or crankshaft reluctor ring replacement without performing a relearn.
  • 4
    Battery disconnection or deep discharge that erased the stored variation table on susceptible PCM calibrations.
  • 5
    Major engine work (bottom-end rebuild, crankshaft replacement) where the physical reluctor wheel relationship changed.
  • 6
    Defective crankshaft position sensor producing signals too noisy or inconsistent for the relearn algorithm to complete successfully.
  • 7
    Damaged or worn reluctor wheel teeth preventing the PCM from deriving a stable variation map during the relearn attempt.

Symptoms drivers notice

Check engine light illuminated with P0315 as the stored code.
Misfire monitoring disabled — P0300–P031X misfire codes will not set even if real misfires are occurring.
Rough idle or hesitation if an underlying misfire condition exists but goes undetected.
Hard starting or reduced engine performance if timing synchronisation is compromised by a sensor or reluctor fault.
No noticeable driveability symptoms in many cases — the vehicle may run normally with only the MIL on.

How to diagnose P0315

A typical diagnostic flow when this code is present.

  1. 1
    Connect a scan tool and confirm P0315 is the only stored code; check for any companion codes including CKP sensor codes (P0335/P0336) or misfire codes.
  2. 2
    Verify recent service history — confirm whether a PCM, crankshaft sensor, harmonic balancer, or battery was recently replaced or disconnected.
  3. 3
    Inspect the crankshaft position sensor connector and wiring for damage, corrosion, or improper installation if the sensor was recently serviced.
  4. 4
    Inspect the harmonic balancer and reluctor ring for cracked rubber damper (common on high-mileage GM engines), slipped outer ring, or damaged teeth.
  5. 5
    With the engine at full operating temperature, use a compatible bi-directional scan tool to initiate the CKP Variation Learn (CASE Learn) procedure, following the tool's guided instructions for target RPM and throttle application.
  6. 6
    After successful relearn completion, clear codes, cycle the ignition, and verify P0315 does not return on the next drive cycle.
  7. 7
    If the relearn procedure fails to complete, suspect a defective CKP sensor, a damaged reluctor ring, or an underlying driveability fault that must be resolved before the relearn can succeed.

Related powertrain codes

Frequently asked questions

Is P0315 a GM-specific code?

In practice, yes. P0315 is defined in the OBD-II standard generically, but the Crankshaft Position System Variation Learn requirement and the CASE Learn procedure are primarily a GM design feature. The code is overwhelmingly seen on GM vehicles (Chevrolet, GMC, Buick, Cadillac, Pontiac) and occasionally on Holden derivatives.

Can I clear P0315 just by disconnecting the battery?

No — and doing so will likely cause the code to immediately return because the stored variation data is erased by the battery disconnection. The only proper fix is to run the CKP Variation Learn procedure using a compatible scan tool that can command the relearn function.

Does P0315 mean my engine is misfiring?

Not necessarily. P0315 means the PCM's misfire monitoring system is disabled because the variation calibration is missing — it cannot detect misfires, but that doesn't mean misfires are actually occurring. However, any real misfire will go unreported while this code is active, which is why clearing it promptly matters.

What scan tools can perform the CKP Variation Learn on GM vehicles?

OEM tools (GM Tech2, MDI with GDS2/TIS2Web) are the gold standard. Many professional aftermarket scan tools also support this function, including Snap-on Zeus/Verus, Autel MaxiSys, Launch X431, and Bosch ADS. Basic code readers and most entry-level OBD-II scanners cannot command the relearn procedure.

Disabling P0315 in software

RaceTune can permanently disable P0315 — and any other OBD-II diagnostic trouble code — on every ECU family we support. The monitor is disabled inside the ECU itself, so the fault stops being logged: the warning light stays off and the engine never enters limp mode for this code. The change is tied to your exact software version.

Permanent
The monitor is disabled in the ECU itself — not just cleared. It cannot return.
Tailored to your file
Each patch is matched to your specific software version — never a one-size-fits-all file.
Reversible
The original file is always preserved. Reflash the stock to return the ECU to factory state.

Software modifications affect emissions compliance and are not road-legal in many jurisdictions. RaceTune service files are intended for motorsport, off-road, and export use.

Got P0315 in your scan?

Upload your ECU file — we'll identify the exact software version and confirm whether a disable is available for your car.

Upload your file