diff --git a/org.fortiss.tooling.base.ui/trunk/plugin.xml b/org.fortiss.tooling.base.ui/trunk/plugin.xml
index 479642b342548c3e6e6d950b3824e07e6ad31342..3b5fc75f46c4446f8033f8599f95e4538177f405 100644
--- a/org.fortiss.tooling.base.ui/trunk/plugin.xml
+++ b/org.fortiss.tooling.base.ui/trunk/plugin.xml
@@ -21,4 +21,13 @@
       </view>
    </extension>
 
+   <!--extension point="org.fortiss.tooling.kernel.migrationProvider">
+      <migrationProvider
+            migrationProvider="org.fortiss.tooling.base.ui.annotation.AnnotationInstantiationMigrationProvider">
+         <objectClass
+               objectClass="org.fortiss.tooling.kernel.extension.data.ITopLevelElement">
+         </objectClass>
+      </migrationProvider>
+   </extension-->
+   
 </plugin>
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/AnnotationViewPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/AnnotationViewPartBase.java
index c57eee9bc8b1920e31a323486e637cf460f88980..0464241c8c57ccc4480f8e987227bc6ec6c4a059 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/AnnotationViewPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/annotation/view/AnnotationViewPartBase.java
@@ -74,6 +74,9 @@ public abstract class AnnotationViewPartBase extends ViewPart implements ISelect
 	private Map<EObject, Collection<AnnotationEntry>> lastAnnotationEntriesMap =
 			new HashMap<EObject, Collection<AnnotationEntry>>();
 
+	/** Flag to prevent nested calls of {@link #selectionChanged(IWorkbenchPart, ISelection)}. */
+	private boolean processingSectionChanged = false;
+
 	/**
 	 * {@link Adapter} to watch for the addition, removal or value change of model elements
 	 * to/from/in elements visible in this {@link AnnotationViewPartBase} (to trigger according
@@ -137,6 +140,11 @@ public abstract class AnnotationViewPartBase extends ViewPart implements ISelect
 	/** {@inheritDoc} */
 	@Override
 	public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+		if(processingSectionChanged) {
+			return;
+		}
+		processingSectionChanged = true;
+
 		currentlySelectedObject = null;
 		currentlySelectedObject = SelectionUtils.checkAndPickFirst(selection, IModelElement.class);
 
@@ -149,14 +157,12 @@ public abstract class AnnotationViewPartBase extends ViewPart implements ISelect
 		}
 
 		// Optimization: Do nothing if the same object as been selected again
-		if(currentlySelectedObject == lastSelectedObject) {
-			return;
-		}
-
-		if(currentlySelectedObject != null) {
+		if(currentlySelectedObject != lastSelectedObject && currentlySelectedObject != null) {
 			update(currentlySelectedObject);
 			lastSelectedObject = currentlySelectedObject;
 		}
+
+		processingSectionChanged = false;
 	}
 
 	/** Determines root element of the given model element. */