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 3cd49b114a2f50b98d9a46b168de2bbd1430c746..434d89be01bf1fa9d07ef7d72edd3baf9d32c8fd 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
@@ -38,6 +38,7 @@ import org.fortiss.tooling.base.ui.annotation.IAnnotationValueService;
 import org.fortiss.tooling.base.ui.editpart.DiagramEditPartBase;
 import org.fortiss.tooling.base.ui.editpart.ElementEditPartBase;
 import org.fortiss.tooling.kernel.model.IProjectRootElement;
+import org.fortiss.tooling.kernel.service.IPersistencyService;
 import org.fortiss.tooling.kernel.ui.util.SelectionUtils;
 import org.fortiss.tooling.kernel.utils.EcoreUtils;
 
@@ -71,12 +72,19 @@ public abstract class AnnotationViewPartBase extends ViewPart implements ISelect
 	private final Adapter changeListener = new AdapterImpl() {
 		@Override
 		public void notifyChanged(Notification notification) {
-			if((notification.getEventType() == Notification.ADD) ||
-					(notification.getEventType() == Notification.REMOVE || (notification
-							.getEventType() == Notification.SET))) {
+			if(notification.getEventType() == Notification.ADD ||
+					notification.getEventType() == Notification.REMOVE ||
+					notification.getEventType() == Notification.SET) {
 
 				Object notifier = notification.getNotifier();
-				if(notifier instanceof IModelElement) {
+				if((notifier instanceof IModelElement) &&
+						(IPersistencyService.INSTANCE
+								.getTopLevelElementFor((IModelElement)notifier) != null)) {
+					// Ignore update requests for elements that are not hook to a top-level element,
+					// e.g. SET events that are fired when a component is removed (before the actual
+					// REMOVE event). Otherwise, the AnnotationValueService would create a NPE
+					// during the preparation of the context via
+					// KernelModelElementUtils.runAsCommand().
 					update((IModelElement)notifier);
 				}
 			}