Surely this is atomic and can skip the mutex?