P0315
Crankshaft Position System Variation Not Learned
Crankshaft position
Generic OBD-II
High
What it means
P0315 means the ECM has not stored the crankshaft-position variation values it needs to run its misfire monitor accurately. This relearn is normally performed with a scan tool after a battery, ECM, or crankshaft-sensor service. The engine usually runs fine β the ECM just can't reliably watch for misfires until the variation table is learned.
High
Can I keep driving? Usually driveable and runs normally β this code mainly means the crankshaft variation relearn wasn't completed, which disables misfire detection until it's done.
Common symptoms
What you'll notice
- Check-engine light on
- Often no noticeable change in how the car drives
- Misfire monitor disabled (other misfire codes may not set)
- Rough running only if an underlying crank-sensor fault exists
Common causes
Most likely first
- Crankshaft variation relearn procedure not performed after serviceLikely
- Incorrectly installed or faulty crankshaft position sensorCommon
- Damaged reluctor / tone ring on the crankshaftCommon
- Wiring or connector fault in the CKP circuitLess often
- Low battery voltage during the relearn attemptLess often
How to diagnose & fix
Work through it in order
- Perform the crankshaft-position variation relearn with a capable scan tool β this alone often clears it.
- Confirm battery voltage is good before and during the relearn.
- Inspect the crankshaft position sensor installation and connector.
- Check the reluctor ring for damage or debris.
- If the relearn won't complete, diagnose the CKP sensor and wiring. Clear and re-test.
FAQ
Quick answers
Is it safe to drive with P0315?+
Generally yes β the engine runs normally, but with misfire detection off you could miss a developing problem, so complete the relearn.
Can I just clear P0315?+
Clearing without doing the relearn won't help; the code returns until the variation procedure is completed.
Related codes
Often seen with P0315
Read & clear P0315 yourself
Scan your car, confirm the code, and clear it once it's fixed β with OBD DashX on your phone.
β Verified name β SAE J2012 / ISO 15031-6Guidance reviewed by OBD DashX