fix race condition again