You're driving your petrol car, everything seems fine, and then the check engine light pops up on the dashboard. You read the fault code and it says something related to the EVAP system - P0440, P0442, or similar. Most drivers have no idea what EVAP is, but virtually every petrol car built after 2000 has one. The good news is that these faults rarely require an expensive repair; the bad news is that the light won't turn off on its own until the cause is fixed.
What the EVAP system does and why every petrol car has a canister
EVAP (Evaporative Emission Control) is a system that prevents fuel vapours from the tank escaping into the atmosphere. It has been legally required since the Euro 3 standard, which means practically every petrol car on BiH roads has one. Diesel engines don't have EVAP because diesel fuel doesn't evaporate the same way petrol does, so you'll only ever see these fault codes on petrol cars.
The system consists of three main components. The charcoal canister is a box filled with activated carbon granules that absorbs fuel vapours while the engine is off - for example, while the car is parked in the sun and fuel heats up in the tank. The purge valve is an electromagnetic valve that, when the engine is running, opens a passage and lets those accumulated vapours flow from the canister into the intake manifold, where they burn normally along with the fuel. And finally, the fuel cap seals the system and maintains the required pressure.
The engine control unit (ECU) periodically tests the entire EVAP system by closing all outlets and monitoring pressure changes. If it detects a leak or abnormal vapour flow, it turns on the check engine light and stores the corresponding diagnostic trouble code. This test usually happens during steady-speed driving, so the driver never even notices it's taking place.
The purge valve - the most common culprit behind EVAP check engine codes
The purge valve is the component that fails most often in this system. It's a relatively inexpensive part, but when it goes bad, the symptoms can be confusing because they resemble fuel mixture or sensor problems.
When the purge valve gets stuck open, fuel vapours flow into the engine uncontrollably, even when they shouldn't. This causes a rich mixture, unstable idle, and a hard start after refuelling - especially when you fill the tank all the way up. Sometimes you'll also notice a strong petrol smell in the engine bay because excess vapours are passing through without any control.
When it gets stuck closed, vapours build up in the charcoal canister until it becomes completely saturated. The result is a petrol smell around the car, especially in warm weather, because vapours start escaping through spots that weren't designed for it. In both cases the ECU detects the problem and stores a fault code, but the car remains safe to drive.
The fuel cap as a fault trigger that's often overlooked
It sounds too simple, but a loose or damaged fuel cap is the most common and cheapest EVAP-related cause of a check engine light. The rubber seal on the cap hardens and cracks over the years and no longer holds pressure the way it should. Sometimes all it takes is a cap that wasn't twisted shut until it clicked after refuelling.
If your light came on and you have no noticeable driving symptoms, check the cap first. Tighten it until you hear the click. The light usually goes off after 2-3 drive cycles (ignition on, about fifteen minutes of driving, ignition off). If it doesn't clear even after that, the seal is probably worn and the cap needs replacing - which is a trivial fix. Also inspect the cap body for visible cracks, because the plastic part can crack too after prolonged use.
Symptoms and OBD fault codes that come up
EVAP faults are distinctive in that there are often no noticeable driving symptoms at all. The car drives normally, doesn't lose power, fuel consumption stays the same. The only visible sign is the check engine light on the instrument cluster.
When symptoms do appear, the most common ones are a petrol smell around the car or inside the cabin, an unstable idle right after refuelling, slightly harder starting on a full tank, and an occasional whiff of vapour that gets stronger on hot days.
Typical OBD codes from this system include P0440, which indicates a general EVAP system malfunction; P0441, which reports incorrect flow through the purge valve; P0442 and P0456, which point to a small leak in the system; and P0455, which signals a large leak. Small-leak codes (P0442, P0456) usually point to the cap or a cracked hose, while large-leak codes (P0455) can mean a damaged canister or a completely loose cap. If you have a code reader, check out our guide on using an OBD2 device for basic scanning.
How the EVAP system is diagnosed and what to expect from the repair
EVAP diagnostics start with reading fault codes and reviewing purge valve live data on a diagnostic tool. The fuel cap is checked first since it's the most common cause. Then the purge valve values are monitored on the scanner to see whether it responds to ECU commands or is stuck.
If the code points to a leak, a smoke test is performed. A smoke test works by pumping smoke into the system under low pressure. Wherever the smoke escapes, that's the leak. This test reveals cracked hoses, loose connectors, and canister damage that are invisible to the naked eye.
In most cases the repair comes down to replacing the cap, replacing the purge valve, or replacing a damaged hose. The cost depends on the specific condition and car model. On cars with an LPG conversion, it sometimes happens that an EVAP hose was incorrectly routed during the gas installation, which triggers false fault codes. This is fixed by rerouting the hose properly and doesn't require any parts replacement.
If you have a check engine light with an EVAP fault code, there's no reason to panic. The car is safe to drive in the meantime. But don't ignore the fault for months, because an active check engine light masks any future engine problems that might come up - and you won't see them on the dashboard. If you're not sure what's going on, get in touch to book an appointment and we'll check the system in about ten minutes.