John:
I'm not certain what testing the count would do. It struck me that the only defualt behavior I didn't want was the selection of the parent when the child at the end of the list was removed, instead of the previous sibling, so I changed the code I sent to determine if there was a next sibiling and if so just return out of the function. If no next, I test the previous and use if it exists. If neither next or previous, I just allow the default behavior to select the parent. If I have 2 expanded nodes, remove the child at the end of one list, select the last node at the end of the other expanded list and remove this node, I get the error. If I remove the child at the end of a list, expand another node, select the child at the end of the list and remove it, there is no bug.
Go figure!!!
Mike
Mike