check the flywheel key first and make sure its not sheared or even wallowed or loose. the tiniest bit will cause this to be outta time. if that's good then i would guess that one of your valves are sticking. might pull the crankcase breather plate and check the springs and keepers on the valves.