This is an incorrect change of behavior from earlier code due to change in MT semantics - this is not happening within putLock : and so can cause incorrect results.