Hi,
I think there is a problem with 15.11, more specifically the case in which the node to be deleted is the root.
The following fragment is in the book:
root = keyNode.left;
keyNode.left = null;
where keyNode is the node to be deleted. I think in this case the correct code is keyNode = null to prevent loitering.