Index: Core/Common/src/Core.Common.Gui/GuiCore.cs =================================================================== diff -u -r2163fba3da3ce4bde858374da5fed0d3cf92f310 -r51915a935d0ffd1186f8c1cbb749c0e79c25b7ff --- Core/Common/src/Core.Common.Gui/GuiCore.cs (.../GuiCore.cs) (revision 2163fba3da3ce4bde858374da5fed0d3cf92f310) +++ Core/Common/src/Core.Common.Gui/GuiCore.cs (.../GuiCore.cs) (revision 51915a935d0ffd1186f8c1cbb749c0e79c25b7ff) @@ -507,9 +507,10 @@ private void OnActiveViewChanged(object sender, ViewChangeEventArgs e) { - var newSelectionProvider = e.View as ISelectionProvider; - if (newSelectionProvider == null) + if (ReferenceEquals(currentSelectionProvider, e.View)) { + currentSelectionProvider.SelectionChanged += OnSelectionChanged; + return; } @@ -518,7 +519,13 @@ currentSelectionProvider.SelectionChanged -= OnSelectionChanged; } - currentSelectionProvider = newSelectionProvider; + var selectionProvider = e.View as ISelectionProvider; + if (selectionProvider == null) + { + return; + } + + currentSelectionProvider = selectionProvider; currentSelectionProvider.SelectionChanged += OnSelectionChanged; Selection = currentSelectionProvider.Selection;