diff --git a/tests/scripts/components-psasim.sh b/tests/scripts/components-psasim.sh
index 4fe5470..ba8ab33 100644
--- a/tests/scripts/components-psasim.sh
+++ b/tests/scripts/components-psasim.sh
@@ -10,37 +10,37 @@
 ################################################################
 
 # Helper function for controlling (start & stop) the psasim server.
-helper_psasim_server () {
+helper_psasim_server() {
     OPERATION=$1
     if [ "$OPERATION" == "start" ]; then
-    (
-        cd tests
         msg "start server in tests"
-        psa-client-server/psasim/test/start_server.sh
+        (
+            cd tests
+            ../$PSASIM_PATH/test/start_server.sh
+        )
         msg "start server in tf-psa-crypto/tests"
-        cd ../tf-psa-crypto/tests
-        ../../tests/psa-client-server/psasim/test/start_server.sh
-    )
+        (
+            cd tf-psa-crypto/tests
+            ../../$PSASIM_PATH/test/start_server.sh
+        )
     else
-    (
-        msg "terminate servers and cleanup"
-        tests/psa-client-server/psasim//test/kill_servers.sh
-
-        # Remove temporary files and logs
-        cd tests
-        rm -f psa_notify_*
-        rm -f psa_service_*
-        rm -f psa_server.log
-
-        cd ../tf-psa-crypto/tests
-        rm -f psa_notify_*
-        rm -f psa_service_*
-        rm -f psa_server.log
-    )
+        msg "terminate server in tests"
+        (
+            # This will kill both servers and clean up all the message queues,
+            # and clear temporary files in tests
+            cd tests
+            ../$PSASIM_PATH/test/kill_servers.sh
+        )
+        msg "terminate server in tf-psa-crypto/tests"
+        (
+            # This just clears temporary files in tf-psa-crypto/tests
+            cd tf-psa-crypto/tests
+            ../../$PSASIM_PATH/test/kill_servers.sh
+        )
     fi
 }
 
-component_test_psasim () {
+component_test_psasim() {
     msg "build server library and application"
     scripts/config.py crypto
     helper_psasim_config server
@@ -53,19 +53,21 @@
     helper_psasim_build client
 
     msg "build basic psasim client"
-    make -C tests/psa-client-server/psasim CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS" test/psa_client_base
+    make -C $PSASIM_PATH CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS" test/psa_client_base
     msg "test basic psasim client"
-    tests/psa-client-server/psasim/test/run_test.sh psa_client_base
+    $PSASIM_PATH/test/run_test.sh psa_client_base
 
     msg "build full psasim client"
-    make -C tests/psa-client-server/psasim CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS" test/psa_client_full
+    make -C $PSASIM_PATH CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS" test/psa_client_full
     msg "test full psasim client"
-    tests/psa-client-server/psasim/test/run_test.sh psa_client_full
+    $PSASIM_PATH/test/run_test.sh psa_client_full
 
-    make -C tests/psa-client-server/psasim clean
+    helper_psasim_server kill
+    make -C $PSASIM_PATH clean
 }
 
-component_test_suite_with_psasim () {
+component_test_suite_with_psasim()
+{
     msg "build server library and application"
     helper_psasim_config server
     # Modify server's library configuration here (if needed)
@@ -83,7 +85,6 @@
     msg "build test suites"
     make PSASIM=1 CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS" tests
 
-    helper_psasim_server kill
     helper_psasim_server start
 
     # psasim takes an extremely long execution time on some test suites so we
