--- a/bin/catalina.sh
+++ b/bin/catalina.sh
@@ -305,7 +305,7 @@
 elif [ "$1" = "start" ] ; then
 
   if [ ! -z "$CATALINA_PID" ]; then
-    if [ -f "$CATALINA_PID" ]; then
+    if [ -s "$CATALINA_PID" ]; then
       echo "PID file ($CATALINA_PID) found. Is Tomcat still running? Start aborted."
       exit 1
     fi
@@ -363,12 +363,16 @@
   fi
 
   if [ ! -z "$CATALINA_PID" ]; then
-    if [ -f "$CATALINA_PID" ]; then
+    if [ -s "$CATALINA_PID" ]; then
       kill -0 `cat $CATALINA_PID` >/dev/null 2>&1
       if [ $? -eq 1 ]; then
         echo "PID file ($CATALINA_PID) found but no matching process was found. Stop aborted."
         exit 1
       fi
+    elif [ -f "$CATALINA_PID" ]; then
+        rm $CATALINA_PID
+        echo "\$CATALINA_PID was set ($CATALINA_PID) but the specified file is empty. Did Tomcat fail while starting? Stop aborted."
+        exit 1
     else
       echo "\$CATALINA_PID was set ($CATALINA_PID) but the specified file does not exist. Is Tomcat running? Stop aborted."
       exit 1
