diff --git a/src/Main/Base/Project/Dom/ClassBrowser/BaseTypesTreeNode.cs b/src/Main/Base/Project/Dom/ClassBrowser/BaseTypesTreeNode.cs
index ae4093d214..223073a691 100644
--- a/src/Main/Base/Project/Dom/ClassBrowser/BaseTypesTreeNode.cs
+++ b/src/Main/Base/Project/Dom/ClassBrowser/BaseTypesTreeNode.cs
@@ -40,19 +40,15 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser
 				throw new ArgumentNullException("definition");
 			this.definition = definition;
 			this.text = SD.ResourceService.GetString("MainWindow.Windows.ClassBrowser.BaseTypes");
+			LazyLoading = true;
 		}
-
+		
 		protected override void OnIsVisibleChanged()
 		{
 			base.OnIsVisibleChanged();
-			if (IsVisible) {
-				definition.Updated += OnDefinitionUpdated;
-			} else {
-				definition.Updated -= OnDefinitionUpdated;
-				LazyLoading = true;
-			}
+			definition.Updated += OnDefinitionUpdated;
 		}
-
+		
 		void OnDefinitionUpdated(object sender, EventArgs e)
 		{
 			// If the list of children was created, update it
diff --git a/src/Main/Base/Project/Dom/ClassBrowser/DerivedTypesTreeNode.cs b/src/Main/Base/Project/Dom/ClassBrowser/DerivedTypesTreeNode.cs
index c61a51d188..0dcc489083 100644
--- a/src/Main/Base/Project/Dom/ClassBrowser/DerivedTypesTreeNode.cs
+++ b/src/Main/Base/Project/Dom/ClassBrowser/DerivedTypesTreeNode.cs
@@ -38,17 +38,13 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser
 				throw new ArgumentNullException("definition");
 			this.definition = definition;
 			this.text = SD.ResourceService.GetString("MainWindow.Windows.ClassBrowser.DerivedTypes");
+			LazyLoading = true;
 		}
-
+		
 		protected override void OnIsVisibleChanged()
 		{
 			base.OnIsVisibleChanged();
-			if (IsVisible) {
-				definition.Updated += OnDefinitionUpdated;
-			} else {
-				definition.Updated -= OnDefinitionUpdated;
-				LazyLoading = true;
-			}
+			definition.Updated += OnDefinitionUpdated;
 		}
 		
 		void OnDefinitionUpdated(object sender, EventArgs e)