diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
index 13fdda4..722c8d5 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/Server.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2003, 2012 IBM Corporation and others.
+ * Copyright (c) 2003, 2013 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -2121,11 +2121,11 @@
 			startJob.addJobChangeListener(new JobChangeAdapter() {
 				public void done(IJobChangeEvent event) {
 					IStatus resultStatus = event.getResult();
-					if (resultStatus != null && resultStatus.getSeverity() == IStatus.ERROR) { 
+					if (resultStatus != null && (resultStatus.getSeverity() == IStatus.ERROR || resultStatus.getSeverity() == IStatus.CANCEL)) { 
 						// Do not launch the publish.
 						if (Trace.INFO) {
 							Trace.trace(Trace.STRING_INFO,
-									"Skipping auto publish after server start since the server start failed.");
+									"Skipping auto publish after server start since the server start failed or cancelled.");
 						}
 						if (opListener != null)
 							opListener.done(Status.OK_STATUS);
