diff --git a/library/ssl_tls13_keys.c b/library/ssl_tls13_keys.c
index 6b8f8e1..6f3338c 100644
--- a/library/ssl_tls13_keys.c
+++ b/library/ssl_tls13_keys.c
@@ -655,8 +655,19 @@
     size_t transcript_len;
 
     unsigned char *base_key = NULL;
+    size_t base_key_len = 0;
     mbedtls_ssl_tls13_handshake_secrets *tls13_hs_secrets =
                                             &ssl->handshake->tls13_hs_secrets;
+    if( from == MBEDTLS_SSL_IS_CLIENT )
+    {
+        base_key = tls13_hs_secrets->client_handshake_traffic_secret;
+        base_key_len = sizeof( tls13_hs_secrets->client_handshake_traffic_secret );
+    }
+    else
+    {
+        base_key = tls13_hs_secrets->server_handshake_traffic_secret;
+        base_key_len = sizeof( tls13_hs_secrets->server_handshake_traffic_secret );
+    }
 
     mbedtls_md_type_t const md_type = ssl->handshake->ciphersuite_info->mac;
     const mbedtls_md_info_t* const md_info =
@@ -681,11 +692,6 @@
     }
     MBEDTLS_SSL_DEBUG_BUF( 4, "handshake hash", transcript, transcript_len );
 
-    if( from == MBEDTLS_SSL_IS_CLIENT )
-        base_key = tls13_hs_secrets->client_handshake_traffic_secret;
-    else
-        base_key = tls13_hs_secrets->server_handshake_traffic_secret;
-
     ret = ssl_tls13_calc_finished_core( md_type, base_key, transcript, dst );
     if( ret != 0 )
         goto exit;
@@ -696,16 +702,7 @@
 
 exit:
     /* Erase handshake secrets */
-    if( from == MBEDTLS_SSL_IS_CLIENT )
-    {
-        mbedtls_platform_zeroize( base_key,
-                sizeof( tls13_hs_secrets->client_handshake_traffic_secret ) );
-    }
-    else
-    {
-        mbedtls_platform_zeroize( base_key,
-                sizeof( tls13_hs_secrets->server_handshake_traffic_secret ) );
-    }
+    mbedtls_platform_zeroize( base_key, base_key_len );
     mbedtls_platform_zeroize( transcript, sizeof( transcript ) );
     return( ret );
 }
