Agreed. Does this make the volatile unnecessary? I didn't know that Java automatically guarantees read-modify-write consistency on all objects in a synchronized block (cool if it does!)