diff --git a/psa-adac/core/include/psa_adac.h b/psa-adac/core/include/psa_adac.h
index 1ed4d5a..2330c5c 100644
--- a/psa-adac/core/include/psa_adac.h
+++ b/psa-adac/core/include/psa_adac.h
@@ -121,6 +121,7 @@
     ADAC_DISCOVERY_CMD = 0x01,      /**< `Discovery` command */
     ADAC_AUTH_START_CMD = 0x02,     /**< `Start Authentication` command */
     ADAC_AUTH_RESPONSE_CMD = 0x03,  /**< `Authentication Response` command */
+    ADAC_CLOSE_SESSION_CMD = 0x04,     /**< `Close Session` command */
     ADAC_RESUME_CMD = 0x05,         /**< `Resume` command */
     ADAC_LOCK_DEBUG_CMD = 0x06,     /**< `Lock Debug` command */
     ADAC_LCS_CHANGE = 0x100,        /**< `Change Life-cycle State` command */
diff --git a/psa-adac/sda/src/psa_adac_sda.c b/psa-adac/sda/src/psa_adac_sda.c
index cfeaba2..d8de906 100644
--- a/psa-adac/sda/src/psa_adac_sda.c
+++ b/psa-adac/sda/src/psa_adac_sda.c
@@ -382,13 +382,14 @@
                 ret = authenticator_send_response(auth_ctx, response);
                 break;
 
-                /* Send success status but otherwise do nothing. */
-            case ADAC_LOCK_DEBUG_CMD:
-                PSA_ADAC_LOG_DEBUG("auth", "Lock debug\r\n");
+                /* Send success status and terminate command loop. */
+            case ADAC_CLOSE_SESSION_CMD:
+                PSA_ADAC_LOG_DEBUG("auth", "Terminate session \r\n");
                 (void) authenticator_request_packet_release(auth_ctx, request);
-                psa_adac_platform_lock();
+                psa_adac_close_session();
                 response = authenticator_response_packet_build(auth_ctx, ADAC_SUCCESS, NULL, 0);
                 ret = authenticator_send_response(auth_ctx, response);
+                done = 1;
                 break;
 
                 /* Send success status and terminate command loop. */
@@ -401,6 +402,15 @@
                 done = 1;
                 break;
 
+                /* Send success status but otherwise do nothing. */
+            case ADAC_LOCK_DEBUG_CMD:
+                PSA_ADAC_LOG_DEBUG("auth", "Lock debug\r\n");
+                (void) authenticator_request_packet_release(auth_ctx, request);
+                psa_adac_platform_lock();
+                response = authenticator_response_packet_build(auth_ctx, ADAC_SUCCESS, NULL, 0);
+                ret = authenticator_send_response(auth_ctx, response);
+                break;
+
             case ADAC_LCS_CHANGE:
                 PSA_ADAC_LOG_DEBUG("auth", "Change LCS \n");
                 response = authentication_change_lcs(auth_ctx, request);
diff --git a/target/trusted-firmware-m/platform/arm/corstone1000/corstone1000.c b/target/trusted-firmware-m/platform/arm/corstone1000/corstone1000.c
index 9891713..80cccdd 100644
--- a/target/trusted-firmware-m/platform/arm/corstone1000/corstone1000.c
+++ b/target/trusted-firmware-m/platform/arm/corstone1000/corstone1000.c
@@ -30,7 +30,7 @@
     return 0;
 }
 
-void psa_adac_platform_lock(void)
+void psa_adac_close_session(void)
 {
     /* TODO: Code me */
 }
@@ -40,6 +40,11 @@
     /* TODO: Code me */
 }
 
+void psa_adac_platform_lock(void)
+{
+    /* TODO: Code me */
+}
+
 adac_status_t psa_adac_change_life_cycle_state(uint8_t *input, size_t input_size)
 {
     /* TODO: Code me */
diff --git a/target/trusted-firmware-m/platform/arm/corstone1000/include/platform/platform.h b/target/trusted-firmware-m/platform/arm/corstone1000/include/platform/platform.h
index 9172b8f..e99d0d5 100644
--- a/target/trusted-firmware-m/platform/arm/corstone1000/include/platform/platform.h
+++ b/target/trusted-firmware-m/platform/arm/corstone1000/include/platform/platform.h
@@ -28,8 +28,9 @@
 
 void platform_init(void);
 adac_status_t psa_adac_change_life_cycle_state(uint8_t *input, size_t input_size);
-void psa_adac_platform_lock(void);
+void psa_adac_close_session(void);
 void psa_adac_resume(void);
+void psa_adac_platform_lock(void);
 void psa_adac_platform_init(void);
 int psa_adac_detect_debug_request(void);
 void psa_adac_acknowledge_debug_request(void);
diff --git a/target/trusted-firmware-m/platform/arm/musca_b1/include/platform/platform.h b/target/trusted-firmware-m/platform/arm/musca_b1/include/platform/platform.h
index 9c13106..100e774 100644
--- a/target/trusted-firmware-m/platform/arm/musca_b1/include/platform/platform.h
+++ b/target/trusted-firmware-m/platform/arm/musca_b1/include/platform/platform.h
@@ -28,8 +28,9 @@
 
 void platform_init(void);
 adac_status_t psa_adac_change_life_cycle_state(uint8_t *input, size_t input_size);
-void psa_adac_platform_lock(void);
+void psa_adac_close_session(void);
 void psa_adac_resume(void);
+void psa_adac_platform_lock(void);
 int psa_adac_platform_check_token(uint8_t *token, size_t token_size);
 int psa_adac_platform_check_certificate(uint8_t *crt, size_t crt_size);
 void psa_adac_platform_init(void);
diff --git a/target/trusted-firmware-m/platform/arm/musca_b1/psa_adac_platform.c b/target/trusted-firmware-m/platform/arm/musca_b1/psa_adac_platform.c
index 156feb2..0556bb9 100644
--- a/target/trusted-firmware-m/platform/arm/musca_b1/psa_adac_platform.c
+++ b/target/trusted-firmware-m/platform/arm/musca_b1/psa_adac_platform.c
@@ -46,7 +46,7 @@
     return 0;
 }
 
-void psa_adac_platform_lock(void)
+void psa_adac_close_session(void)
 {
     /* TODO: Code me */
 }
@@ -56,6 +56,11 @@
     /* TODO: Code me */
 }
 
+void psa_adac_platform_lock(void)
+{
+    /* TODO: Code me */
+}
+
 adac_status_t psa_adac_change_life_cycle_state(uint8_t *input, size_t input_size)
 {
     /* TODO: Code me */
diff --git a/target/trusted-firmware-m/platform/arm/rse/common/include/platform/platform.h b/target/trusted-firmware-m/platform/arm/rse/common/include/platform/platform.h
index 44ab710..57044f0 100644
--- a/target/trusted-firmware-m/platform/arm/rse/common/include/platform/platform.h
+++ b/target/trusted-firmware-m/platform/arm/rse/common/include/platform/platform.h
@@ -27,8 +27,9 @@
 
 void platform_init(void);
 adac_status_t psa_adac_change_life_cycle_state(uint8_t *input, size_t input_size);
-void psa_adac_platform_lock(void);
+void psa_adac_close_session(void);
 void psa_adac_resume(void);
+void psa_adac_platform_lock(void);
 int psa_adac_platform_check_token(uint8_t *token, size_t token_size);
 int psa_adac_platform_check_certificate(uint8_t *crt, size_t crt_size);
 void psa_adac_platform_init(void);
diff --git a/target/trusted-firmware-m/platform/arm/rse/common/psa_adac_platform.c b/target/trusted-firmware-m/platform/arm/rse/common/psa_adac_platform.c
index bc75846..2712cf9 100644
--- a/target/trusted-firmware-m/platform/arm/rse/common/psa_adac_platform.c
+++ b/target/trusted-firmware-m/platform/arm/rse/common/psa_adac_platform.c
@@ -58,7 +58,7 @@
     return ADAC_UNSUPPORTED;
 }
 
-void psa_adac_platform_lock(void)
+void psa_adac_close_session(void)
 {
     /* TODO: Code me */
 }
@@ -68,6 +68,11 @@
     /* TODO: Code me */
 }
 
+void psa_adac_platform_lock(void)
+{
+    /* TODO: Code me */
+}
+
 int psa_adac_platform_check_token(uint8_t *token, size_t token_size)
 {
     /* TODO: Code me */
diff --git a/template_hal_files/target_name.c b/template_hal_files/target_name.c
index eb70cab..8704bd3 100644
--- a/template_hal_files/target_name.c
+++ b/template_hal_files/target_name.c
@@ -28,7 +28,7 @@
     return ADAC_UNSUPPORTED;
 }
 
-void psa_adac_platform_lock(void)
+void psa_adac_close_session(void)
 {
     /* TODO: Code me */
 }
@@ -38,6 +38,11 @@
     /* TODO: Code me */
 }
 
+void psa_adac_platform_lock(void)
+{
+    /* TODO: Code me */
+}
+
 int psa_adac_platform_check_token(uint8_t *token, size_t token_size)
 {
     /* TODO: Code me */
