Calling removeNode attempt to remove from the pending node set only after it checked the node is in the regulat set, which is obviously an impossible case.
This diff restores the expected behavior and remove the node appropriately. It closes the gap in the unit tests that failed to catch this issue.