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 c58051696b8d8425495a7ee2a2e50969e31958bd..b41a5ebf01c9d02add3da563538fbd602c255299 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
@@ -37,8 +37,11 @@ import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IPartListener2;
 import org.eclipse.ui.ISelectionListener;
 import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchPartReference;
+import org.eclipse.ui.IWorkbenchPartSite;
 import org.eclipse.ui.part.ViewPart;
 import org.fortiss.tooling.base.annotation.AnnotationEntry;
 import org.fortiss.tooling.base.annotation.IAnnotationValueService;
@@ -60,7 +63,7 @@ import org.fortiss.tooling.kernel.service.IPersistencyService;
  * @author barner
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: EE75EE9DA08E49EF36E644324B35D0B0
+ * @ConQAT.Rating YELLOW Hash: ABA34824715CBD59797ACBADB1163534
  */
 public abstract class AnnotationViewPartBase extends ViewPart implements ISelectionListener,
 		IAnnotationViewPart {
@@ -302,7 +305,53 @@ public abstract class AnnotationViewPartBase extends ViewPart implements ISelect
 	/** {@inheritDoc} */
 	@Override
 	public void createPartControl(Composite parent) {
-		getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(this);
+		final IWorkbenchPartSite site = getSite();
+		site.getWorkbenchWindow().getSelectionService().addSelectionListener(this);
+		site.getPage().addPartListener(new IPartListener2() {
+			@Override
+			public void partActivated(IWorkbenchPartReference partRef) {
+				// Nothing to do
+			}
+
+			@Override
+			public void partBroughtToTop(IWorkbenchPartReference partRef) {
+				// Nothing to do
+			}
+
+			@Override
+			public void partClosed(IWorkbenchPartReference partRef) {
+				// Nothing to do
+			}
+
+			@Override
+			public void partDeactivated(IWorkbenchPartReference partRef) {
+				// Nothing to do
+			}
+
+			@Override
+			public void partOpened(IWorkbenchPartReference partRef) {
+				// Nothing to do
+			}
+
+			@Override
+			public void partHidden(IWorkbenchPartReference partRef) {
+				if(partRef.getId().equals(IAnnotationViewPart.ANNOTATION_VIEW_ID)) {
+					setUpdateEnabled(false);
+				}
+			}
+
+			@Override
+			public void partVisible(IWorkbenchPartReference partRef) {
+				if(partRef.getId().equals(IAnnotationViewPart.ANNOTATION_VIEW_ID)) {
+					setUpdateEnabled(true);
+				}
+			}
+
+			@Override
+			public void partInputChanged(IWorkbenchPartReference partRef) {
+				// Nothing to do
+			}
+		});
 	}
 
 	/** {@inheritDoc} */