diff --git a/smokeinfra/run.sh b/smokeinfra/run.sh
index 4b51e5af0447c6fff2732464cca196179870b000..552ae366f17933fb2b701e3d5d0385320d434466 100755
--- a/smokeinfra/run.sh
+++ b/smokeinfra/run.sh
@@ -18,7 +18,7 @@ PIDVAL=$!
 echo "$PERMCMD -- $PIDVAL"
 
 echo "STARTING SERVERS..."
-
+PID_SERVER_KILLED=$!
 for SERVERID in $(seq 3 -1 1)
 do
     IDX=$(($SERVERID - 1))
@@ -26,6 +26,9 @@ do
     $SERVERCMD > $SERVERLOGS/server-$SERVERID.console 2>&1 &
     PIDVAL=$!
     echo "$SERVERCMD -- $PIDVAL"
+    if [ $SERVERID -eq 1 ]; then
+      PID_SERVER_KILLED=$PIDVAL
+    fi
     if [ $SERVERID -eq 2 ]; then
         sleep 10 # This will force a CDE timeout
     fi
@@ -82,6 +85,9 @@ diff -ruN results/gateway-errors.txt noerrors.txt
 
 echo "NO OUTPUT ERRORS"
 
+
+
+
 echo "CHECKING THAT AT LEAST 2 ROUNDS RAN"
 cat results/server-3.log | grep "RID 1 ReceiveFinishRealtime END" > rid.txt || true
 if [ ! -s rid.txt ]; then
@@ -89,5 +95,21 @@ if [ ! -s rid.txt ]; then
     exit 42
 fi
 
+# Kill the last server
+echo "KILLING SERVER 0 EARLY"
+kill -15 $PID_SERVER_KILLED
+# Wait for node to handle kill signal
+sleep 30
+
+
+echo "CHECKING THAT SERVER 0 WAS KILLED PROPERLY"
+cat results/server-1.log | grep "Round completed, closing!" > serverClose.txt || true
+if [ -s serverClose.txt  ]; then
+    echo "SERVER 0 CLOSED SUCCESSFULLY"
+else
+    echo "SERVER 0 WAS NOT CLOSED PROPERLY"
+    exit 42
+fi
+
 tail $SERVERLOGS/*.console
 echo "SUCCESS!"