The scan on a used car comes back, and there are codes on it. But the dashboard is dark. No check engine light, no warning of any kind. The car drives fine.
So what do those codes mean, and should they stop you buying the car? Here is how we read them, and what to do about them before and after you buy.
What a stored code is
When a car's computer sees a problem, it records a diagnostic trouble code. The warning light and the code are not the same thing. The light can go out while the code stays in memory.
California's OBD II rule, which sets how a car's own diagnostics must behave, shows how that works for emissions faults. The light "may be extinguished after three subsequent sequential driving cycles" in which the system runs its check and finds nothing wrong. But the computer may erase the code itself only "if the same fault is not re-registered in at least 40 engine warm-up cycles."
That gap is where a stored code lives. It is sometimes called a history code. It is a record that something happened. It is not proof that it is still happening.
The engine is not the only part of the car that keeps codes. Other modules, like the ones that run the brakes or the power steering, store their own. A dealer-level scan reads those too, where the car allows it.
The system works today. Now what?
When our technician finds a stored code, they check the system it points to. Sometimes that system is working fine on the day.
On one car we inspected, the scan showed stored power steering faults, but the power steering worked as designed on the day.
That is good news, but it does not settle the question. The fault may be intermittent and come back. Or it may be a past event that never returns. There is no way to know which on the day of the inspection.
So the advice is simple:
- Monitor it. In the words of Stephon, who owns Car Pro Inspections: "ultimately they need to monitor it for functionality and if the system stopped working a diagnostics will be needed."
- After you buy, have the codes cleared and the car scanned again after some driving. If the code does not come back, that tells you something. We do not clear codes on a pre-purchase inspection, so this is a step for after the car is yours.
- Check how much factory warranty is left. If the car is still covered, ask what the warranty covers for the system the code points to before you sign.
- If a warning light comes on or the system stops working, have it diagnosed.
Why a weak 12-volt battery can set codes
A low battery can do more than make the car slow to start. Modern cars run many control modules, and low voltage can make them set codes, even in systems that have nothing to do with the battery.
The makers' own service documents say so. A Stellantis repair case summary, published on NHTSA's site, describes a car brought in "for a low battery condition and multiple modules that set low battery faults." A 2024 GM service bulletin says "a low battery state of charge can cause voltage diagnostics to fail in the Lighting Control Module."
That does not mean every code on a car with a weak battery is the battery's fault. It may be. It may be something else. But when a scan shows several codes across different systems, and the battery reads low, the battery is worth looking at first.
On one recent car, the battery read low and a fault was stored. Stephon's read: "The battery being low is possibly what's causing that fault."
The makers' fix starts with the battery. The Stellantis case lists "Charge the Battery" as step one, and says the codes "should be cleared" before anything else is replaced. For a buyer, that points to the same order: get the battery charged or replaced, clear the codes, drive the car, and scan it again.
A weak or dead battery can also reset the car's readiness monitors, which a fresh code clear does too. We wrote about that in how to tell if the codes were just cleared.
What a healthy battery reads
If you have a voltmeter, you can check a battery yourself at the terminals.
- Engine off: Interstate Batteries says "You should have a resting voltage of around 12.5 volts."
- Engine running: OPTIMA Batteries says the reading "should be about 13.7-14.7 volts."
A reading below those does not prove the battery is bad. It is a reason to have the battery and charging system tested.
What our inspection records
Every package includes a dealer-level diagnostic scan (availability varies by make and year). You get a plain-English summary of the scan: which systems are affected and what to do next. Enhanced and Elite add an explanation of each code.
That sits alongside the rest of the inspection: the mechanical and safety check, the underbody, the brakes, suspension and steering, and a road test when the seller allows it and it is safe and legal to drive.
Buying a used car in the Atlanta or Orlando area? Call us at 833-644-0800 and talk it through before you buy. Then book your inspection at carproinspections.com.
Quick answers
Are stored codes a reason not to buy a car? Not on their own. A stored code is a record that something happened. If the system works on the day, monitor it, and have the codes cleared and the car rescanned after you buy.
Can a bad battery cause a check engine light? A low battery can make modules set fault codes. Whether a light comes on depends on the fault. The Stellantis case notes that "A charging system warning light may illuminate depending on the fault conditions." Charge or replace the battery, clear the codes, and see what comes back.
What is the difference between a stored code and an active one? An active code is a fault the car sees now. A stored code is one it recorded earlier. Our report says which is which, where the scan shows it.
Will the codes go away by themselves? They can. California's OBD II rule lets the computer erase an emissions code once the same fault has not come back "in at least 40 engine warm-up cycles."