diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2047f2e672cf7437e4c423b37301da4fe8e88836..7bf1a1508594051b63332e5bab7314063aea66da 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -86,7 +86,7 @@ basice2e:
     - cp ../bin/libpowmosm75.so /opt/elixxir/lib/
     - sed -i 's/bin\/server/bin\/server-cuda/g' run.sh
     - sed -i 's/useGpu\:\ false/useGpu\:\ true/g' server-[12345].yaml
-    - ./run.sh
+    - NSYSENABLED=TRUE ./run.sh
     - mv results results-gpu
     - cd ..
   artifacts:
diff --git a/basice2e/run.sh b/basice2e/run.sh
index 05571735c81285d5a7ce0fe83cd01c7742ce52f1..8c1a305d5dd505dfe583ca4905469f55305b340d 100755
--- a/basice2e/run.sh
+++ b/basice2e/run.sh
@@ -46,11 +46,10 @@ echo "$PERMCMD -- $PIDVAL"
 for SERVERID in $(seq 5 -1 1)
 do
     IDX=$(($SERVERID - 1))
-    if [ $SERVERID -eq 5 ]
+    SERVERCMD="../bin/server -i $IDX --roundBufferTimeout 300s --config server-$SERVERID.yaml"
+    if [[ $SERVERID -eq 5 && -z "$NSYSENABLED" ]]
     then
-        SERVERCMD="nsys profile --trace=cuda -o server-$SERVERID ../bin/server -i $IDX --roundBufferTimeout 300s --config server-$SERVERID.yaml"
-    else
-        SERVERCMD="../bin/server -i $IDX --roundBufferTimeout 300s --config server-$SERVERID.yaml"
+        SERVERCMD="nsys profile --trace=cuda -o server-$SERVERID $SERVERCMD"
     fi
     $SERVERCMD > $SERVERLOGS/server-$SERVERID-console.txt 2>&1 &
     PIDVAL=$!
@@ -72,8 +71,9 @@ jobs -p > results/serverpids
 
 finish() {
     echo "STOPPING SERVERS AND GATEWAYS..."
-    killall -9 server
-    sleep 5
+    if [ -z "NSYSENABLED" ]; then
+        nsys shutdown --kill=sigterm
+    fi
     # NOTE: jobs -p doesn't work in a signal handler
     for job in $(cat results/serverpids)
     do