[167669] EMF upgrade issues
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/ValidateEditListener.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/ValidateEditListener.java
index 311342d..7111e57 100644
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/ValidateEditListener.java
+++ b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/ValidateEditListener.java
@@ -26,6 +26,7 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.internal.Workbench;
@@ -54,7 +55,9 @@
 		try {
 			Display.getDefault().asyncExec(new Runnable() {
 				public void run() {
-					IWorkbenchWindow window = Workbench.getInstance().getActiveWorkbenchWindow();
+					IWorkbench wb = Workbench.getInstance();
+					if (wb == null) return;
+					IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
 					if (window == null && Workbench.getInstance().getWorkbenchWindowCount()>0) {
 						for (int i=0; i<Workbench.getInstance().getWorkbenchWindows().length; i++) {
 							window = Workbench.getInstance().getWorkbenchWindows()[i];
@@ -230,7 +233,8 @@
 	}
 
 	public IStatus validateState() {
-		if ((fShell==null) && (Workbench.getInstance().getActiveWorkbenchWindow() != null))
+		IWorkbench wb = Workbench.getInstance();
+		if ((fShell==null) && (wb != null && (Workbench.getInstance().getActiveWorkbenchWindow() != null)))
 			fShell=Workbench.getInstance().getActiveWorkbenchWindow().getShell();
 		if (fNeedsStateValidation) {
 			setNeedsStateValidation(false);