My check engine light keeps coming on. on 2008 Hyundai Sonata

I've taken it to the dealer 3 times (4th trip will be later this week). The first diagnostic code was P0456. They said it passed the evap test and had to drive it a while to reset the code.
Three weeks later it came on again. The receipt doesn't say what code was found; only that they replaced the purge valve.
Three weeks later it came on again and this time they replaced the canister assembly. That was supposed to fix my problem for good!
Now four weeks later it's on again! I change my oil every 3 months. Any ideas on what could be the problem? Thanks!

Asked by for the 2008 Hyundai Sonata
1 answer
Not until the code is read again, it has nothing to do with the oil change. The oil reminder light should alert you of an oil change.