fix locking around Reload()