diff --git a/tests/src/drivers/cipher.c b/tests/src/drivers/cipher.c
index 2915fba..f9106d1 100644
--- a/tests/src/drivers/cipher.c
+++ b/tests/src/drivers/cipher.c
@@ -296,6 +296,8 @@
 psa_status_t test_transparent_cipher_abort(
     test_transparent_cipher_operation_t *operation)
 {
+    test_driver_cipher_hooks.hits++;
+
     if( operation->alg == 0 )
         return( PSA_SUCCESS );
     if( operation->alg != PSA_ALG_CTR )
@@ -309,7 +311,6 @@
      * struct. */
     memset( operation, 0, sizeof( *operation ) );
 
-    test_driver_cipher_hooks.hits++;
     return( PSA_SUCCESS );
 }
 
@@ -325,6 +326,9 @@
 
     test_driver_cipher_hooks.hits++;
 
+    if( test_driver_cipher_hooks.forced_status != PSA_SUCCESS )
+        return( test_driver_cipher_hooks.forced_status );
+
     if( operation->alg != PSA_ALG_CTR )
         return( PSA_ERROR_BAD_STATE );
 
@@ -356,6 +360,9 @@
 
     test_driver_cipher_hooks.hits++;
 
+    if( test_driver_cipher_hooks.forced_status != PSA_SUCCESS )
+        return( test_driver_cipher_hooks.forced_status );
+
     if( operation->alg != PSA_ALG_CTR )
         return( PSA_ERROR_BAD_STATE );
 
@@ -386,6 +393,9 @@
 
     test_driver_cipher_hooks.hits++;
 
+    if( test_driver_cipher_hooks.forced_status != PSA_SUCCESS )
+        return( test_driver_cipher_hooks.forced_status );
+
     if( operation->alg != PSA_ALG_CTR )
         return( PSA_ERROR_BAD_STATE );
 
@@ -425,6 +435,9 @@
 
     test_driver_cipher_hooks.hits++;
 
+    if( test_driver_cipher_hooks.forced_status != PSA_SUCCESS )
+        return( test_driver_cipher_hooks.forced_status );
+
     if( operation->alg != PSA_ALG_CTR )
         return( PSA_ERROR_BAD_STATE );
 
