Check engine light keeps throwing small evap leak code

Hi. I have a 2016 Kia Optima. A couple months ago, the check engine light came on and I checked it with my OBDII. It said my car had a small evap leak. I researched it and found that the cheapest and easiest fix would be to replace the gas cap. I did so with a generic gas cap bought from Autozone. After clearing the error code, the check engine light stayed off for about two weeks before coming back on again with the same problem. And so that’s been the cycle I’ve been stuck in for the past couple months. The light comes on for a small evap leak, I fiddle with the gas cap and erase the code, and it stays off for anywhere from a couple days to a couple weeks (sometimes hundreds of miles driven). I can’t imagine it’s anything but the gas cap because if the gas cap wasn’t the problem, wouldn’t the check engine light come back on almost immediately instead of two weeks of regular commuting later? At any rate, I have my state inspection coming up soon and the last thing I want is to go to a mechanic and say “I don’t know what the problem is” because I might as well just hand them a blank check. Does it sound like the gas cap is the problem? If not, what else could it be?


This code only comes on after the car does a test of the EVAP system. The reason the light stays off for a while after you clear the code is because the car doesn’t know there’s a leak. The car will only do the test under certain conditions, for example the gas tank has to have so much gas in it, the outside temperature has to be in a specific range and the car must be driven a certain way. After the conditions are met, then the car does a test and finds a leak and sets the code. On many cars here in Michigan the test doesn’t take place all winter because the temps are too cold. But when spring hits, all them cars that had problems and weren’t tested all winter, suddenly they get tested and check engine lights come on and shops get real busy for a while. You should have it smoke tested to find out where the leak is, then repaired.


I’m leaning to TCM’s theory above, not the gas cap, but something else in the evap system. That system is probably tested by the car’s computer at certain intervals, might be time, or miles, or something else. In any event when the test is scheduled, the computer commands a pump to slightly pressurize the space above the fuel in the gas tank. Then it monitors a pressure sensor to make sure the pressure remains the same. If the pressure drops over time, it concludes there’s a leak. If it drops slowly, it concludes it’s a small leak. Common places leaks could occur

  • gas cap (rub a little oil on the gas cap’s rubber seal, see if that helps)
  • fuel tank filler hose
  • fuel tank vent & roll-over valves
  • tubing from fuel tank to canister
  • canister purge valve
  • canister vent valve
  • faulty canister

well, you get the idea, leaks can occur anywhere in the system. And to make things even more interesting, there might not even be a leak, could be a problem w/the evap pressure sensor.

I have a car which has a persistent CEL and the codes P0442 and P0456, which come up as “evaporative emissions system, small leak detected”. I was never able to find the leak, and replacing parts did not solve the problem. I even had a professional mechanic do a smoke test, and no leak was found.

Ultimately, like you I was facing the need to pass emissions in order to renew my license plate. So I did some experimentation to see under what conditions the PCM runs the EVAP monitor, and discovered that the fuel level must be between 80% and 20%, and the engine must have been started from cold during this drive cycle.

Thus, it became a simple matter to disconnect the battery and clear the codes, and then drive long enough to get all the other monitors to set “ready” while preventing the EVAP monitor from running long enough to get the car through emissions. The secret is to keep the fuel topped off–a portable gas can works great for this–while you drive around long enough to get the other monitors to set “ready”. Remember that on a 2000 or newer model car, you are allowed to pass emissions as long as the CEL is commanded off, and no more than one monitor shows “not ready”. So you want that one monitor to be the EVAP monitor.

Hope that helps.

1 Like

None of my cars have a self-test for the evap system, but you’d think you could figure out where the leak was by trial and error. First step, clamp the hose from the fuel tank at the canister. If the leak was before the clamp the leak will still be present and the light wouldn’t turn off. If the light did turn off , then the leak is after the clamp; i.e. something connected to the canister.

Is there some reason this wouldn’t work?

Don’t clamp off the hose from the gas tank to the canister.

Because if you do, this can happen to the gas tank.


1 Like

Shouldn’t the 2-way valve in the gas cap let air in and prevent this?

I do not think clamping the lines would help diagnose the issue, unfortunately. On the engine side, there’s a purge valve that is supposed to be open at certain times and closed at other times. On the fuel tank side, there’s a vent valve that’s supposed to be closed at certain times and open at other times. So, if you block either side off, you’ll get some sort of code when the computer commands the valve open. The computer will assume the valve is remaining shut when it should be open.

I’m pretty sure it’s not the fuel filler cap

It could very well be a bad vent valve or purge valve

You already tried the cheapest option . . . which is replacing the cap and clearing the code

Since emission inspection is coming up, I suggest you bite the bullet and pay a reputable shop to diagnose and repair the problem

Unless you have professional experience as a mechanic, along with a high-level bi-directional scanner, smoke machine and the knowledge needed to figure this out

Does the code number refer to a location? I had an evap leak recently on my 1999 Honda. According to Haynes that code number said “in canister area.” I was able to diagnose a bad electrical connector at the purge valve. The valve opened and closed when I applied and unhooked battery power. The two wire female connector leading to the solenoid showed battery voltage when the engine was warmed up. I installed a new connector ($10 from Amazon) yesterday and it’s now working OK. Fingers crossed.

Yeah, I could see that’s not a good idea if you leave it clamped & then drive the car. I was referring to this idea for testing purposes only. I believe they actually do clamp that hose when the emissions testing folks test my Corolla’s evap system. It has no self-test feature, so to make sure nothing is leaking they hook up a gadget to the gas tank filler which pressurizes the evap space, then make sure the pressure holds. If they didn’t clamp the tank hose the pressure would leak out either through the purge valve or through the canister’s vent.

In some states, the car will pass inspectiom with one system not ready to read. NY is one of those states.