[139455] Headless startup problems
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementIdentifier.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementIdentifier.java
index 675dc55..af51b65 100644
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementIdentifier.java
+++ b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementIdentifier.java
@@ -42,8 +42,11 @@
 	 */
 	public UIEnablementIdentifier(String id, IProject project) {
 		super(id, project);
-		activityIdentifier = getActivityManager().getIdentifier(id);
-		activityIdentifier.addIdentifierListener(this);
+		IActivityManager manager = getActivityManager();
+		if (manager != null) {
+			activityIdentifier = getActivityManager().getIdentifier(id);
+			activityIdentifier.addIdentifierListener(this);
+		}
 	}
 
 	/*
@@ -67,7 +70,23 @@
 	 * @see org.eclispe.wst.common.frameworks.internal.enablement.EnablementIdentifier#getNewEnabled()
 	 */
 	protected boolean getNewEnabled() {
-		return activityIdentifier.isEnabled() && super.getNewEnabled();
+		IIdentifier identifier = getActivityIdentifier();
+		if (identifier != null)
+			return identifier.isEnabled() && super.getNewEnabled();
+		else
+			return false;
+	}
+
+	
+	protected IIdentifier getActivityIdentifier() {
+		if (activityIdentifier == null){
+			IActivityManager manager = getActivityManager();
+			if (manager != null) {
+				activityIdentifier = getActivityManager().getIdentifier(getId());
+				activityIdentifier.addIdentifierListener(this);
+			}
+		}
+		return activityIdentifier;
 	}
 
 
diff --git a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementManager.java b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementManager.java
index 44014e2..b8de6a4 100644
--- a/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementManager.java
+++ b/plugins/org.eclipse.wst.common.frameworks.ui/wtp_ui/org/eclipse/wst/common/frameworks/internal/ui/UIEnablementManager.java
@@ -17,6 +17,7 @@
 package org.eclipse.wst.common.frameworks.internal.ui;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.activities.IActivityManager;
 import org.eclipse.ui.activities.IWorkbenchActivitySupport;
@@ -35,7 +36,10 @@
 	}
 
 	protected IActivityManager getActivityManager() {
-		return getActivitySupport().getActivityManager();
+		if (getActivitySupport() != null)
+			return getActivitySupport().getActivityManager();
+		else
+			return null;
 	}
 
 	/**
@@ -43,10 +47,20 @@
 	 */
 	protected IWorkbenchActivitySupport getActivitySupport() {
 		if (activitySupport == null)
-			activitySupport = PlatformUI.getWorkbench().getActivitySupport();
+			activitySupport = initActivitySupport();
 		return activitySupport;
 	}
 
+	private IWorkbenchActivitySupport initActivitySupport() {
+		IWorkbench work = null;
+		try {
+			work = PlatformUI.getWorkbench();
+		} catch (IllegalStateException ex) {
+			//Not initialized yet
+		}
+		return (work != null) ? work.getActivitySupport() : null;
+	}
+
 	/*
 	 * (non-Javadoc)
 	 *