diff --git a/tests/suites/test_suite_psa_crypto_memory.data b/tests/suites/test_suite_psa_crypto_memory.data
index fcd60fb..2ca7e15 100644
--- a/tests/suites/test_suite_psa_crypto_memory.data
+++ b/tests/suites/test_suite_psa_crypto_memory.data
@@ -45,3 +45,12 @@
 
 PSA crypto output copy alloc, NULL buffer
 output_copy_alloc:0:PSA_SUCCESS
+
+PSA crypto output copy free
+output_copy_free:200:0:PSA_SUCCESS
+
+PSA crypto output copy free, NULL buffer
+output_copy_free:0:0:PSA_SUCCESS
+
+PSA crypto output copy free, NULL original buffer
+output_copy_free:200:1:PSA_ERROR_CORRUPTION_DETECTED
diff --git a/tests/suites/test_suite_psa_crypto_memory.function b/tests/suites/test_suite_psa_crypto_memory.function
index 6fd58cd..57a10ae 100644
--- a/tests/suites/test_suite_psa_crypto_memory.function
+++ b/tests/suites/test_suite_psa_crypto_memory.function
@@ -163,3 +163,48 @@
     output = NULL;
 }
 /* END_CASE */
+
+/* BEGIN_CASE */
+void output_copy_free(int output_len, int original_is_null,
+                      psa_status_t exp_status)
+{
+    uint8_t *output = NULL;
+    uint8_t *buffer_copy_for_comparison = NULL;
+    psa_crypto_output_copy_t output_copy;
+    psa_status_t status;
+
+    output_copy.buffer = NULL;
+    output_copy.len = 0;
+
+    if (!original_is_null) {
+        TEST_CALLOC(output, output_len);
+    }
+    TEST_CALLOC(buffer_copy_for_comparison, output_len);
+    TEST_CALLOC(output_copy.buffer, output_len);
+    output_copy.len = output_len;
+    output_copy.original = output;
+
+    if (output_copy.buffer != NULL) {
+        fill_buffer_pattern(output_copy.buffer, output_copy.len);
+        memcpy(buffer_copy_for_comparison, output_copy.buffer, output_copy.len);
+    }
+
+    status = psa_crypto_output_copy_free(&output_copy);
+    TEST_EQUAL(status, exp_status);
+
+    if (exp_status == PSA_SUCCESS) {
+        TEST_ASSERT(output_copy.buffer == NULL);
+        TEST_EQUAL(output_copy.len, 0);
+        if (output != NULL) {
+            TEST_MEMORY_COMPARE(buffer_copy_for_comparison, output_len,
+                                output, output_len);
+        }
+    }
+
+exit:
+    mbedtls_free(output);
+    mbedtls_free(buffer_copy_for_comparison);
+    mbedtls_free(output_copy.buffer);
+    output_copy.len = 0;
+}
+/* END_CASE */
