Fix async event race condition. At least I think that's what I'm doing :D