diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs index 3addc9e03b..9b3f1a76f9 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs @@ -151,7 +151,7 @@ namespace ICSharpCode.TreeView if (selectedOldItems != null) { var list = SelectedItems.Cast().Except(selectedOldItems).ToList(); SetSelectedItems(list); - if (SelectedItem == null) { + if (SelectedItem == null && this.IsKeyboardFocusWithin) { // if we removed all selected nodes, then move the focus to the node // preceding the first of the old selected nodes SelectedIndex = Math.Max(0, e.OldStartingIndex - 1);