Repair verification

Post-repair verification: 7 OBD steps to confirm the fix actually worked

What to do after replacing an O2 sensor, catalyst, MAF or injector: run a drive cycle, read Freeze Frame, Mode 06, compare LTFT before/after — to be sure the repair is solid.

AI-generated 3 min read

After a repair (O2 sensor, catalyst, MAF, injector) the mechanic says: “All good, light is off”. But 20-30% of the time the problem returns in 2-4 weeks — because:

  • The repair fixed a symptom, not the root cause
  • Part replaced — but the rest of the system hasn’t “relearned”
  • Deleted DTC instead of a real fix

Below: 7 OBD-II steps you run after a repair to confirm quality.

Step 1. Verify all codes actually cleared

Read:

  • Active codes (Mode 03) — should be empty
  • Pending codes (Mode 07) — should be empty
  • Permanent codes (Mode 0A) — should be empty (important: mechanics sometimes clear Mode 03 but Mode 0A stays until the next drive cycle)

If Permanent codes exist → repair isn’t complete, run a full drive cycle and re-read.

Step 2. Check Readiness Monitor

See the Readiness Monitor post. After clearing all non-continuous monitors are Not Ready. Run a full drive cycle (~30 min mixed driving).

All 8 monitors must go Ready — that confirms the ECU tested every subsystem and none is “flashing”. If a specific monitor stays Not Ready — that’s where the hidden problem is.

Step 3. Compare LTFT before/after

Note LTFT before repair (say, +18% due to weak MAF) and again — after replacement.

Norm after repair: LTFT ±5% at warm idle, ±8% cruising.

If LTFT after MAF replacement is still +12% — the new MAF is also “not pulling” or there’s a separate vacuum leak (see Fuel Trim post).

Step 4. Read “residual” Freeze Frame

Mode 02 after repair may still show the “last” Freeze Frame from the previous code. Compare with current state:

  • If Freeze Frame parameters (RPM, LTFT, MAP) differ sharply from current Live data — repair produced a change, good.
  • If Live is nearly identical to Freeze Frame — state hasn’t changed → the repair didn’t work.

Step 5. Mode 06 — monitor “freshness”

See the Mode 06 post. After a catalyst replacement read Test $01 (Catalyst B1):

  • Before repair: Value 0.78, Max 0.75 → P0420 trigger
  • After repair: Value 0.35, Max 0.75 → 50% of limit = perfect

If after catalyst replacement Value is still 0.65+ → new catalyst is low-quality or exhaust leak remains.

Step 6. Check misfire counter (Mode 06 A2-A9)

After plug/coil replacement — expect Value near 0-2 on all cylinders (Max 20).

If cylinder 3 Value is 8 — plug/coil hasn’t “bedded in” (normal first 60 mi), or a deeper issue remains (compression — see P0300 post).

Step 7. Trend over 300-600 mi

The best test is time. Enable automatic log of 12 PIDs for 2-3 weeks after repair:

  • LTFT should stay stable
  • Coolant temp stable at 185-205°F
  • Boost pressure (for turbo) — holds target
  • No misfire recurrences

Our Prediction Agent does this automatically — after code clear, over 100-300 mi it produces a “Repair Verification Score” 0-100. Below 70 — something’s off.

”Completed repair receipt” checklist

Print this and hand it to the mechanic before you pay:

  • All DTCs cleared (Mode 03, 07, 0A empty)
  • Drive cycle passed 30 min, 6+ monitors Ready
  • LTFT ±8% cruising, ±5% idle
  • No new Pending codes after 60 mi
  • Mode 06 value < 50% of max for replaced component
  • Freeze Frame empty (no new snapshot captured)
  • Ignition cycle counter incremented (proof it was actually driven, not just cleared and handed over)

Try this on the free tierpair an ELM327 adapter before and after repair, capture 2 sessions. AI session comparison — on paid tier.