diff --git a/sbin/spark-daemon.sh b/sbin/spark-daemon.sh
index 6ab57df409529453d04401709847e59e3ec11d6f..59823571124f1e6fa5b14a09e01fe943dea62c56 100755
--- a/sbin/spark-daemon.sh
+++ b/sbin/spark-daemon.sh
@@ -162,6 +162,16 @@ run_command() {
   esac
 
   echo "$newpid" > "$pid"
+  
+  #Poll for up to 5 seconds for the java process to start
+  for i in {1..10}
+  do
+    if [[ $(ps -p "$newpid" -o comm=) =~ "java" ]]; then
+       break
+    fi
+    sleep 0.5
+  done
+
   sleep 2
   # Check if the process has died; in that case we'll tail the log so the user can see
   if [[ ! $(ps -p "$newpid" -o comm=) =~ "java" ]]; then