diff --git a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStartup.java b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStartup.java
index fcc948973435f320a304c913bb206ba522976350..7f0e168743ada0f39264ec252907e49d42f3610d 100644
--- a/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStartup.java
+++ b/de.bmotionstudio.gef.editor/src/de/bmotionstudio/gef/editor/BMotionStartup.java
@@ -1,5 +1,6 @@
 package de.bmotionstudio.gef.editor;
 
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IPerspectiveDescriptor;
 import org.eclipse.ui.IPerspectiveRegistry;
 import org.eclipse.ui.IStartup;
@@ -11,17 +12,21 @@ public class BMotionStartup implements IStartup {
 
 	@Override
 	public void earlyStartup() {
-
-		IPerspectiveRegistry perspectiveRegistry = PlatformUI.getWorkbench()
-				.getPerspectiveRegistry();
-		IPerspectiveDescriptor[] perspectives = perspectiveRegistry
-				.getPerspectives();
-		for (IPerspectiveDescriptor p : perspectives) {
-			if (p.getId().startsWith("BMS_"))
-				PerspectiveUtil.closePerspective(p);
-				PerspectiveUtil.deletePerspective(p);
-		}
-
+		Display.getDefault().asyncExec(new Runnable() {
+			@Override
+			public void run() {
+				IPerspectiveRegistry perspectiveRegistry = PlatformUI
+						.getWorkbench().getPerspectiveRegistry();
+				IPerspectiveDescriptor[] perspectives = perspectiveRegistry
+						.getPerspectives();
+				for (IPerspectiveDescriptor p : perspectives) {
+					if (p.getId().startsWith("BMS_")) {
+						PerspectiveUtil.closePerspective(p);
+						PerspectiveUtil.deletePerspective(p);
+					}
+				}
+			}
+		});
 	}
 
 }