Check engine warning light

Was this article helpful?

Comments

Code aging: how a fault clears itself after 40 warm-up cycles

Codes do not stay forever. The ECU counts successful warm-ups and eventually forgets — which is useful to know before you buy a used car.

AI-generated 4 min read

A stored fault code is not permanent. If the fault stops occurring, the ECU counts successful drive cycles and eventually deletes the code by itself.

Understanding that counter explains several things: why a lamp went out on its own, why a code disappeared before you could investigate, and why a clean scan on a used car is worth less than it looks.

Related: clearing codes: when and why and two-trip logic and MIL illumination.

The typical sequence

The lamp goes out after roughly three consecutive drive cycles in which the monitor ran and passed.

The code is deleted after roughly 40 warm-up cycles without the fault recurring.

Permanent codes are separate and clear only when the ECU has verified the repair through its own monitor: Mode 0A permanent DTCs.

Exact numbers vary by manufacturer and by fault type, but the structure is standard.

What counts as a warm-up cycle

Specifically defined, and stricter than “a journey”.

A warm-up cycle generally requires the coolant temperature to rise by a defined amount from start and to exceed a threshold — typically around 70 °C — with the engine having been genuinely cold at start.

Short trips do not count. A car used for four-kilometre journeys may take months to accumulate 40 warm-up cycles, so codes persist far longer than the number suggests.

Conversely, a car doing daily longer commutes ages codes quickly.

Short trips and engine damage.

Why this matters when buying

Here is the practical consequence.

A used car with no stored codes may simply have driven long enough to forget them. No clearing, no dishonesty — just time.

That is why a single scan is weak evidence, and why the other indicators matter:

CheckWhat it reveals
Stored codesCurrent confirmed faults
Pending codesFaults detected once, developing
Permanent codesConfirmed faults not yet verified as fixed
Readiness monitorsWhether codes were cleared recently
Freeze frameConditions when a fault occurred

Readiness plus permanent codes is the pair that catches a recent clear. Aging cannot fake those.

Used car pre-purchase OBD check.

Why aging exists at all

Reasonable design, not an oversight.

A code from a genuinely one-off event — a tank of poor fuel, a very cold morning, driving through deep water — should not follow the vehicle forever. Otherwise every scan would return a decade of historical noise, and the current fault would be lost in it.

Aging keeps the code memory relevant to the present.

Bad fuel quality OBD symptoms and driving through flood water.

The trap for your own diagnosis

Do not lose an intermittent fault to aging.

An intermittent that occurs every few weeks may age out between occurrences, so every scan comes back clean and the problem seems to have gone.

The defence:

  1. Record the code and its freeze frame the moment you find it.
  2. Note the conditions — temperature, speed, load, weather.
  3. Do not clear it unless you need to test whether it returns.
  4. Check pending codes, which catch detections that never confirm.

Diagnosing intermittent faults with OBD.

The freeze frame is the part that hurts to lose

A stored code comes with a snapshot of engine conditions at the moment it set: RPM, load, coolant temperature, speed, fuel trims.

That snapshot is often more useful than the code itself, and it goes when the code goes — whether by aging or by clearing.

OBD freeze frame data explained.

Practical habits

  • Scan monthly, and keep a record. Two minutes each time.
  • Screenshot anything you find before clearing.
  • Do not clear before an emissions test — it resets readiness and guarantees a fail.
  • On a used car, read readiness and permanent codes, not just stored ones.

Try it on the free tier of the apppair an ELM327 adapter and keep a scan history rather than relying on what is stored today. Codes age out; your own records do not.

Comments

Loading…