Re-asyncify, this time without the race condition