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.
This block should probably be in a separate review. I'm working with this right now investigating the promo credits bug. It should be harmless to include in this pull request, though.