Fixing race condition and other mistakes. Fixes #1603.

// FREEBIE
Yeah I think we should assert the behavior that we believe to be true.  So if they shouldn't be null, we shouldn't check for them to be null.  If anything we can add assertions, but I think leaving it as it was would be fine.