Fixing race condition on login

I would have expected you to also encounter this issue, but it's possible that on your builds Unity called initializers in a different order than on my machine which could explain the difference.

In any case, I'm pretty sure we want these changes to go in. It's basically the remainder of what I did before in addition to what it looks like you pulled over in your rewrite.