diff --git a/interface/src/tfm_initial_attestation_api.c b/interface/src/tfm_initial_attestation_api.c
index b935f34..ae58701 100644
--- a/interface/src/tfm_initial_attestation_api.c
+++ b/interface/src/tfm_initial_attestation_api.c
@@ -1,12 +1,12 @@
 /*
- * Copyright (c) 2018, Arm Limited. All rights reserved.
+ * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  *
  */
 
 #include "psa_initial_attestation_api.h"
-#include "tfm_initial_attestation_veneers.h"
+#include "tfm_veneers.h"
 #include "tfm_ns_lock.h"
 #include "psa_client.h"
 
@@ -18,6 +18,7 @@
 {
     psa_invec  in_vec[1];
     psa_outvec out_vec[1];
+    uint32_t res;
 
     in_vec[0].base = challenge_obj;
     in_vec[0].len  = challenge_size;
@@ -25,7 +26,30 @@
     out_vec[0].base = token;
     out_vec[0].len  = *token_size;
 
-    return tfm_ns_lock_dispatch((veneer_fn)tfm_attest_veneer_get_token,
+    res = tfm_ns_lock_dispatch((veneer_fn)tfm_initial_attest_get_token_veneer,
+                                (uint32_t)in_vec,  1,
+                                (uint32_t)out_vec, 1);
+
+    *token_size = out_vec[0].len;
+
+    return res;
+}
+
+enum psa_attest_err_t
+psa_initial_attest_get_token_size(uint32_t  challenge_size,
+                                  uint32_t *token_size)
+{
+    psa_invec  in_vec[1];
+    psa_outvec out_vec[1];
+
+    in_vec[0].base = &challenge_size;
+    in_vec[0].len  = sizeof(uint32_t);
+
+    out_vec[0].base = token_size;
+    out_vec[0].len  = sizeof(uint32_t);
+
+    return tfm_ns_lock_dispatch((veneer_fn) \
+                                tfm_initial_attest_get_token_size_veneer,
                                 (uint32_t)in_vec,  1,
                                 (uint32_t)out_vec, 1);
 }
