[104563] Generic servers are sometimes restarted even when running
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java
index f9094c6..8d4f25e 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/core/internal/ExternalServerBehaviour.java
@@ -52,17 +52,19 @@
 	 * that the user can stop the server from the UI.
 	 */
     protected void initialize(IProgressMonitor monitor) {
-		ServerPort[] ports = getServer().getServerPorts(null);
-		ServerPort sp;
-    	for(int i=0;i<ports.length;i++){
-    		sp = ports[i];
-    		if (SocketUtil.isPortInUse(sp.getPort(), 5)) {
-    			Trace.trace(Trace.WARNING, "Port " + sp.getPort() + " is currently in use");
-    			Status status = new Status(Status.WARNING, CorePlugin.PLUGIN_ID, Status.OK, 
-    						GenericServerCoreMessages.bind(GenericServerCoreMessages.errorPortInUse,Integer.toString(sp.getPort()),sp.getName()), null);
-    			setServerStatus(status);
-    			setServerState(IServer.STATE_UNKNOWN);
-    			return;
+    	if (getServer().getServerState() == IServer.STATE_STOPPED) {
+    		ServerPort[] ports = getServer().getServerPorts(null);
+    		ServerPort sp;
+    		for(int i=0;i<ports.length;i++){
+    			sp = ports[i];
+    			if (SocketUtil.isPortInUse(sp.getPort(), 5)) {
+    				Trace.trace(Trace.WARNING, "Port " + sp.getPort() + " is currently in use");
+    				Status status = new Status(Status.WARNING, CorePlugin.PLUGIN_ID, Status.OK, 
+    							GenericServerCoreMessages.bind(GenericServerCoreMessages.errorPortInUse,Integer.toString(sp.getPort()),sp.getName()), null);
+    				setServerStatus(status);
+    				setServerState(IServer.STATE_UNKNOWN);
+    				return;
+    			}
     		}
     	}
 	}