diff --git a/tests/include/test/drivers/cipher.h b/tests/include/test/drivers/cipher.h
index 7168230..67047af 100644
--- a/tests/include/test/drivers/cipher.h
+++ b/tests/include/test/drivers/cipher.h
@@ -26,7 +26,7 @@
     /* Count the amount of times one of the cipher driver functions is called. */
     unsigned long hits;
     unsigned long cipher_encrypt_hits;
-    unsigned long cipher_update_hits;
+    unsigned long cipher_update_forced_status_hits;
 } mbedtls_test_driver_cipher_hooks_t;
 
 #define MBEDTLS_TEST_DRIVER_CIPHER_INIT { NULL, 0, PSA_SUCCESS, 0, 0, 0 }
diff --git a/tests/src/drivers/test_driver_cipher.c b/tests/src/drivers/test_driver_cipher.c
index 76ccdcf..b9da5d2 100644
--- a/tests/src/drivers/test_driver_cipher.c
+++ b/tests/src/drivers/test_driver_cipher.c
@@ -234,7 +234,6 @@
     size_t *output_length)
 {
     mbedtls_test_driver_cipher_hooks.hits++;
-    mbedtls_test_driver_cipher_hooks.cipher_update_hits++;
 
     if (mbedtls_test_driver_cipher_hooks.forced_output != NULL) {
         if (output_size < mbedtls_test_driver_cipher_hooks.forced_output_length) {
@@ -250,6 +249,7 @@
     }
 
     if (mbedtls_test_driver_cipher_hooks.forced_status != PSA_SUCCESS) {
+        ++mbedtls_test_driver_cipher_hooks.cipher_update_forced_status_hits;
         return mbedtls_test_driver_cipher_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 4346552..309b395 100644
--- a/tests/suites/test_suite_psa_crypto_driver_wrappers.function
+++ b/tests/suites/test_suite_psa_crypto_driver_wrappers.function
@@ -1489,7 +1489,7 @@
         output[i] = 0xa5;
     }
 
-    mbedtls_test_driver_cipher_hooks.cipher_update_hits = 0;
+    mbedtls_test_driver_cipher_hooks.cipher_update_forced_status_hits = 0;
     mbedtls_test_driver_cipher_hooks.cipher_encrypt_hits = 0;
     status = psa_cipher_encrypt(
         key, alg, input->x, input->len,
@@ -1501,7 +1501,7 @@
      * 1st access to the driver since "forced_status" is set. However this
      * initial access happens in psa_cipher_update() (random number generation
      * for IV) so psa_cipher_encrypt() never gets called. */
-    TEST_EQUAL(mbedtls_test_driver_cipher_hooks.cipher_update_hits, 1);
+    TEST_EQUAL(mbedtls_test_driver_cipher_hooks.cipher_update_forced_status_hits, 1);
 #endif
     TEST_EQUAL(status, PSA_ERROR_GENERIC_ERROR);
     /*
