Re-ordered 'synchronized' statements- prevent further race condition