diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/NavigatorService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/NavigatorService.java
index 44e58a43313db0f59d8c79da3dbe4ab021b29a91..df0d6f12adada01471ed2c24ff1217829b24b5fc 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/NavigatorService.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/NavigatorService.java
@@ -17,10 +17,13 @@ $Id$
 +--------------------------------------------------------------------------*/
 package org.fortiss.tooling.kernel.internal;
 
+import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.ui.part.ViewPart;
+import org.fortiss.tooling.kernel.interfaces.ITopLevelElementChangeListener;
 import org.fortiss.tooling.kernel.internal.navigator.NavigatorViewPart;
 import org.fortiss.tooling.kernel.services.INavigatorService;
+import org.fortiss.tooling.kernel.services.IPersistencyService;
 
 /**
  * This class implements the {@link INavigatorService} interface.
@@ -30,11 +33,17 @@ import org.fortiss.tooling.kernel.services.INavigatorService;
  * @version $Rev$
  * @levd.rating RED Rev:
  */
-public class NavigatorService implements INavigatorService {
+public class NavigatorService implements INavigatorService,
+		ITopLevelElementChangeListener {
 
 	/** Stores the navigator view. */
 	private NavigatorViewPart navigatorViewPart;
 
+	/** Constructor. */
+	public NavigatorService() {
+		IPersistencyService.INSTANCE.addTopLevelElementListener(this);
+	}
+
 	/** Sets the navigator view. */
 	public void setNavigatorViewPart(NavigatorViewPart part) {
 		this.navigatorViewPart = part;
@@ -52,4 +61,16 @@ public class NavigatorService implements INavigatorService {
 		return navigatorViewPart.getSite().getSelectionProvider()
 				.getSelection();
 	}
+
+	/** {@inheritDoc} */
+	@Override
+	public void topLevelElementAdded(EObject topLevelElement) {
+		navigatorViewPart.refresh();
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public void topLevelElementRemoved(EObject topLevelElement) {
+		navigatorViewPart.refresh();
+	}
 }
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorViewPart.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorViewPart.java
index 77998a6ee28ccb1077bc3621087c386eecdc94c4..9c9a1f01bd93f49e4113e76d4a46d4758abcc400 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorViewPart.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/navigator/NavigatorViewPart.java
@@ -47,7 +47,6 @@ import org.eclipse.ui.views.properties.IPropertySheetPage;
 import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
 import org.fortiss.tooling.kernel.interfaces.ICustomMenuContributor;
-import org.fortiss.tooling.kernel.interfaces.ITopLevelElementChangeListener;
 import org.fortiss.tooling.kernel.internal.NavigatorService;
 import org.fortiss.tooling.kernel.services.IActionService;
 import org.fortiss.tooling.kernel.services.IContextMenuService;
@@ -67,8 +66,7 @@ import org.fortiss.tooling.kernel.util.EObjectSelectionUtils;
  */
 public final class NavigatorViewPart extends ViewPart implements
 		ISelectionListener, ISelectionChangedListener, IDoubleClickListener,
-		ITabbedPropertySheetPageContributor, ICustomMenuContributor,
-		ITopLevelElementChangeListener {
+		ITabbedPropertySheetPageContributor, ICustomMenuContributor {
 
 	/** Stores the TreeViewer. */
 	private TreeViewer viewer;
@@ -212,15 +210,8 @@ public final class NavigatorViewPart extends ViewPart implements
 		return result;
 	}
 
-	/** {@inheritDoc} */
-	@Override
-	public void topLevelElementAdded(EObject topLevelElement) {
-		updateUI.schedule();
-	}
-
-	/** {@inheritDoc} */
-	@Override
-	public void topLevelElementRemoved(EObject topLevelElement) {
+	/** Refreshes the navigator view. */
+	public void refresh() {
 		updateUI.schedule();
 	}
 }