diff --git a/interface/src/tfm_audit_api.c b/interface/src/tfm_audit_api.c
index 0770bd0..9ce86ef 100644
--- a/interface/src/tfm_audit_api.c
+++ b/interface/src/tfm_audit_api.c
@@ -26,7 +26,7 @@
     struct audit_core_retrieve_output output_s = {.buffer = buffer,
                                                   .record_size = record_size};
 
-    return tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_retrieve_record,
+    return (enum psa_audit_err) tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_retrieve_record,
                                 (uint32_t)&input_s,
                                 (uint32_t)&output_s,
                                 0,
@@ -36,7 +36,7 @@
 enum psa_audit_err psa_audit_get_info(uint32_t *num_records,
                                       uint32_t *size)
 {
-    return tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_get_info,
+    return (enum psa_audit_err) tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_get_info,
                                 (uint32_t)num_records,
                                 (uint32_t)size,
                                 0,
@@ -46,7 +46,7 @@
 enum psa_audit_err psa_audit_get_record_info(const uint32_t record_index,
                                              uint32_t *size)
 {
-    return tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_get_record_info,
+    return (enum psa_audit_err) tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_get_record_info,
                                 (uint32_t)record_index,
                                 (uint32_t)size,
                                 0,
@@ -57,7 +57,7 @@
                                            const uint8_t *token,
                                            const uint32_t token_size)
 {
-    return tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_delete_record,
+    return (enum psa_audit_err) tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_delete_record,
                                 (uint32_t)record_index,
                                 (uint32_t)token,
                                 (uint32_t)token_size,
