diff --git a/library/psa_crypto_slot_management.c b/library/psa_crypto_slot_management.c
index 5d20532e8b..943923f5db 100644
--- a/library/psa_crypto_slot_management.c
+++ b/library/psa_crypto_slot_management.c
@@ -133,8 +133,9 @@ static psa_status_t psa_search_key_in_slots(
 
     if( status == PSA_SUCCESS )
     {
-        *p_slot = slot;
-        psa_increment_key_slot_access_count( slot );
+        status = psa_increment_key_slot_access_count( slot );
+        if( status == PSA_SUCCESS )
+            *p_slot = slot;
     }
 
     return( status );
@@ -208,10 +209,13 @@ psa_status_t psa_get_empty_key_slot( psa_key_id_t *volatile_key_id,
 
     if( selected_slot != NULL )
     {
+       status = psa_increment_key_slot_access_count( selected_slot );
+       if( status != PSA_SUCCESS )
+           goto error;
+
         *volatile_key_id = PSA_KEY_ID_VOLATILE_MIN +
             ( (psa_key_id_t)( selected_slot - global_data.key_slots ) );
         *p_slot = selected_slot;
-        psa_increment_key_slot_access_count( selected_slot );
 
         return( PSA_SUCCESS );
     }
diff --git a/library/psa_crypto_slot_management.h b/library/psa_crypto_slot_management.h
index 75ce0ac6cf..db5acba3bb 100644
--- a/library/psa_crypto_slot_management.h
+++ b/library/psa_crypto_slot_management.h
@@ -137,10 +137,21 @@ psa_status_t psa_get_empty_key_slot( psa_key_id_t *volatile_key_id,
  * This function increments the slot access counter by one.
  *
  * \param[in] slot  The key slot.
+ *
+ * \retval #PSA_SUCCESS
+               The access count was incremented.
+ * \retval #PSA_ERROR_CORRUPTION_DETECTED
+ *             The access count already reached its maximum value and was not
+ *             increased.
  */
-static inline void psa_increment_key_slot_access_count( psa_key_slot_t *slot )
+static inline psa_status_t psa_increment_key_slot_access_count( psa_key_slot_t *slot )
 {
+    if( slot->access_count >= SIZE_MAX )
+        return( PSA_ERROR_CORRUPTION_DETECTED );
+
     slot->access_count++;
+
+    return( PSA_SUCCESS );
 }
 
 /** Decrement slot access counter.