The fault came back after the repair: why, and what to do
The part was replaced, the code cleared, and a week later the light is on again. Five causes in order of frequency, and how to tell them apart.

A familiar story: a sensor was replaced, the code cleared, a couple of days went by — and the same code is back. Doubly annoying: the money is gone and the fault is not.
There are five causes, and they differ wildly in cost. In order of frequency.
1. The wrong thing was replaced
The commonest cause and the most galling. A code names the place where the unit saw a mismatch, not the part you should buy.
P0171 — «lean mixture» — does not mean «the oxygen sensor died». The sensor honestly reported that there was not enough fuel for the air; the cause is usually an air leak. Replacing the sensor swaps out an honest witness.
Hence the rule: before replacing, you needed to see why the unit decided that. That is what live data and fuel trims are for — they show the raw numbers rather than the conclusion.
2. The cause was shared and the part was one of its effects
Second commonest. A tired battery drops the voltage and units throw codes all over the car. The «guilty» sensor is replaced, and a week later the next code arrives — from somewhere else entirely.
The sign: several codes at once, from different systems. In that case it is worth pasting them all into the multi-code reader to see whether they add up to one cause.
3. The new part was wrong or simply poor
More common than one would like, especially with cheap replacement oxygen sensors and air flow meters. The part looks identical while its readings drift.
How to tell: the code comes back exactly the same and fast — within a day or two. When something else is genuinely broken, the code usually takes longer.
4. The fault was cleared rather than fixed
Clearing fixes nothing: it only empties the memory. If the condition is still there the unit will find it again — but that takes several trips, not one.
Hence the classic picture: «it was fine for three days after the garage». Three days is not «fixed and then broke again»; it is exactly how long the unit needed to run its test once more.
5. An old, stored record is still there
The most harmless case. The code is in memory but stored, not active: the fault happened, it was fixed, and the record has not gone yet — the unit needs some forty warm-up cycles to erase it itself.
Easy to tell apart: the app writes the code's state next to it. The difference between active, stored and pending is covered separately — and it is what most often saves people from needless panic.
What to do, in order
- Look at the code's state: is it active now, or merely stored?
- Look at whether it came alone or in company — company means a shared cause.
- Compare live data with the norm: the numbers say more than the code.
- Recall what exactly was done at the garage, and whether the new part is a witness rather than the culprit.
- If the code returned the same day, suspect the new part and its connector: the contact gets disturbed during fitting very often.
In short
- A code names a place, not a part. Replacing «by the code» is the commonest error.
- Several codes at once: look for a shared cause, usually the power supply.
- Back within a day: suspect the new part or its connector.
- «It was fine for three days» is not a repair, it is the unit's test interval.
- A stored code clears itself in about forty warm-up cycles.


