Undo finally works! Signal blocking was the key.