diff --git a/library/psa_crypto_ecp.c b/library/psa_crypto_ecp.c
index b840426a..537a748 100644
--- a/library/psa_crypto_ecp.c
+++ b/library/psa_crypto_ecp.c
@@ -477,16 +477,17 @@
     uint8_t *shared_secret, size_t shared_secret_size,
     size_t *shared_secret_length )
 {
+    psa_status_t status;
     if( ! PSA_KEY_TYPE_IS_ECC_KEY_PAIR( attributes->core.type ) ||
         ! PSA_ALG_IS_ECDH(alg) )
                 return( PSA_ERROR_INVALID_ARGUMENT );
     mbedtls_ecp_keypair *ecp = NULL;
-    psa_status_t status = mbedtls_psa_ecp_load_representation(
-                                attributes->core.type,
-                                attributes->core.bits,
-                                key_buffer,
-                                key_buffer_size,
-                                &ecp );
+    status = mbedtls_psa_ecp_load_representation(
+                attributes->core.type,
+                attributes->core.bits,
+                key_buffer,
+                key_buffer_size,
+                &ecp );
     if( status != PSA_SUCCESS )
         return( status );
     mbedtls_ecp_keypair *their_key = NULL;
@@ -523,7 +524,6 @@
         goto exit;
     if( PSA_BITS_TO_BYTES( bits ) != *shared_secret_length )
         status = PSA_ERROR_CORRUPTION_DETECTED;
-
 exit:
     if( status != PSA_SUCCESS )
         mbedtls_platform_zeroize( shared_secret, shared_secret_size );
diff --git a/tests/src/drivers/test_driver_key_agreement.c b/tests/src/drivers/test_driver_key_agreement.c
index 3552f48..7c37b03 100644
--- a/tests/src/drivers/test_driver_key_agreement.c
+++ b/tests/src/drivers/test_driver_key_agreement.c
@@ -29,7 +29,6 @@
 #include "test/drivers/test_driver.h"
 
 #include <string.h>
-#include <stdio.h>
 
 #if defined(MBEDTLS_TEST_LIBTESTDRIVER1)
 #include "libtestdriver1/include/psa/crypto.h"
@@ -50,7 +49,7 @@
     size_t shared_secret_size,
     size_t *shared_secret_length )
 {
-    ++mbedtls_test_driver_key_agreement_hooks.hits;
+    mbedtls_test_driver_key_agreement_hooks.hits++;
 
     if( mbedtls_test_driver_key_agreement_hooks.forced_status != PSA_SUCCESS )
         return( mbedtls_test_driver_key_agreement_hooks.forced_status );
diff --git a/tests/suites/test_suite_psa_crypto_driver_wrappers.function b/tests/suites/test_suite_psa_crypto_driver_wrappers.function
index 5f38614..b895796 100644
--- a/tests/suites/test_suite_psa_crypto_driver_wrappers.function
+++ b/tests/suites/test_suite_psa_crypto_driver_wrappers.function
@@ -1,6 +1,5 @@
 /* BEGIN_HEADER */
 #include "test/drivers/test_driver.h"
-#include <stdio.h>
 
 #if defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)
 /* Sanity checks on the output of RSA encryption.
