Remove should occur inside a WRITE lock