diff --git a/etc/init.d/dm-cat-web-service b/etc/init.d/dm-cat-web-service
index 89d6ee660e8b9e95d397081274972faaa94fb533..8c52c721ac5db4c638320511ac516ef2c4d0a4a6 100755
--- a/etc/init.d/dm-cat-web-service
+++ b/etc/init.d/dm-cat-web-service
@@ -91,6 +91,10 @@ stop() {
     PID=`cat $DM_PID_FILE`
     kill $PID
 	RETVAL=$?
+    sleep 1
+    # Make sure we kill the process always, regardless of 
+    # what happened with first kill
+    kill -KILL $PID > /dev/null 2>&1
 	[ $RETVAL -eq 0 ] && rm -f $DM_PID_FILE && success $"$DM_DAEMON_NAME shutdown" || failure $"$DM_DAEMON_NAME shutdown"
 	echo
     return $RETVAL
diff --git a/etc/init.d/dm-daq-web-service b/etc/init.d/dm-daq-web-service
index f25537d74d6fe5fc0a25f34bf2657ce1ef629dcd..77b83974de4cce5a60d9d528af274abfaa060a0e 100755
--- a/etc/init.d/dm-daq-web-service
+++ b/etc/init.d/dm-daq-web-service
@@ -91,6 +91,10 @@ stop() {
     PID=`cat $DM_PID_FILE`
     kill $PID
 	RETVAL=$?
+    sleep 1
+    # Make sure we kill the process always, regardless of 
+    # what happened with first kill
+    kill -KILL $PID > /dev/null 2>&1
 	[ $RETVAL -eq 0 ] && rm -f $DM_PID_FILE && success $"$DM_DAEMON_NAME shutdown" || failure $"$DM_DAEMON_NAME shutdown"
 	echo
     return $RETVAL
@@ -98,6 +102,7 @@ stop() {
 
 restart() {
     stop
+    sleep 1
     start
 }
 
diff --git a/etc/init.d/dm-ds-web-service b/etc/init.d/dm-ds-web-service
index 0f1365e38a30758b3ded8782ba2890302aa737c6..945505ac9598bc79fcd1517b5ecbcd15b0f28d4e 100755
--- a/etc/init.d/dm-ds-web-service
+++ b/etc/init.d/dm-ds-web-service
@@ -91,6 +91,10 @@ stop() {
     PID=`cat $DM_PID_FILE`
     kill $PID
 	RETVAL=$?
+    sleep 1
+    # Make sure we kill the process always, regardless of 
+    # what happened with first kill
+    kill -KILL $PID > /dev/null 2>&1
 	[ $RETVAL -eq 0 ] && rm -f $DM_PID_FILE && success $"$DM_DAEMON_NAME shutdown" || failure $"$DM_DAEMON_NAME shutdown"
 	echo
     return $RETVAL
@@ -98,6 +102,7 @@ stop() {
 
 restart() {
     stop
+    sleep 1
     start
 }