diff --git a/api-tests/CMakeLists.txt b/api-tests/CMakeLists.txt
index af7dfb1..31b7ef7 100644
--- a/api-tests/CMakeLists.txt
+++ b/api-tests/CMakeLists.txt
@@ -107,12 +107,15 @@
         GNUARM
         ARMCLANG
         HOST_GCC
-	GCC_LINUX
+		GCC_LINUX
+		INHERIT
 )
 
 # list of supported CROSS_COMPILE toolchains
 list(APPEND CROSS_COMPILE_TOOLCHAIN_SUPPORT
         GNUARM
+		ARMCLANG
+		INHERIT
 )
 
 # list of suported CPU arch
@@ -573,14 +576,6 @@
         TEST_COMMAND ""
 )
 
-# Check if a specific cross compiler was passed in
-find_program(CMAKE_C_COMPILER ${CROSS_COMPILE}-gcc)
-
-# Otherwise, let CMake look for a C compiler
-if(CMAKE_C_COMPILER STREQUAL "CMAKE_C_COMPILER-NOTFOUND")
-	project(TargetConfigGen LANGUAGES C)
-endif()
-
 # Add custom target to clean generated files of the external project
 add_custom_target(
         ${PSA_TARGET_GENERATE_DATABASE_POST}
@@ -590,13 +585,13 @@
 # Check for supported toolchain/s
 if(${TOOLCHAIN} IN_LIST PSA_TOOLCHAIN_SUPPORT)
 	if (DEFINED CROSS_COMPILE)
-	    if(${CROSS_COMPILE} AND NOT (${TOOLCHAIN} IN_LIST CROSS_COMPILE_TOOLCHAIN_SUPPORT))
-                message(FATAL_ERROR "[PSA] : Error: CROSS_COMPILE not supported for this toolchain, supported toolchain are : ${CROSS_COMPILE_TOOLCHAIN_SUPPORT}")
-            endif()
+		if(NOT (${TOOLCHAIN} IN_LIST CROSS_COMPILE_TOOLCHAIN_SUPPORT))
+			message(FATAL_ERROR "[PSA] : Error: CROSS_COMPILE not supported for this toolchain, supported toolchain are : ${CROSS_COMPILE_TOOLCHAIN_SUPPORT}")
+		endif()
 	endif()
-    include(${PSA_ROOT_DIR}/tools/cmake/compiler/${TOOLCHAIN}.cmake)
+	include(${PSA_ROOT_DIR}/tools/cmake/compiler/${TOOLCHAIN}.cmake)
 else()
-        message(FATAL_ERROR "[PSA] : Error: Unsupported value for -DTOOLCHAIN=${TOOLCHAIN}, supported toolchain are : ${PSA_TOOLCHAIN_SUPPORT}")
+	message(FATAL_ERROR "[PSA] : Error: Unsupported value for -DTOOLCHAIN=${TOOLCHAIN}, supported toolchain are : ${PSA_TOOLCHAIN_SUPPORT}")
 endif()
 
 # Global macro to identify the PSA test suite cmake build
diff --git a/api-tests/dev_apis/crypto/suite.cmake b/api-tests/dev_apis/crypto/suite.cmake
index 40c1a0d..f7b13de 100644
--- a/api-tests/dev_apis/crypto/suite.cmake
+++ b/api-tests/dev_apis/crypto/suite.cmake
@@ -33,6 +33,8 @@
 
 add_definitions(${CC_OPTIONS})
 add_definitions(${AS_OPTIONS})
+add_definitions(-DHOST_GCC_MISSING_CRYPTO_1_0=1)
+
 # append common crypto file to list of source collected
 list(APPEND SUITE_CC_SOURCE ${PSA_SUITE_DIR}/common/test_crypto_common.c)
 add_library(${PSA_TARGET_TEST_COMBINE_LIB} STATIC ${SUITE_CC_SOURCE} ${SUITE_AS_SOURCE})
diff --git a/api-tests/platform/targets/common/nspe/initial_attestation/pal_attestation_crypto.c b/api-tests/platform/targets/common/nspe/initial_attestation/pal_attestation_crypto.c
index 7b233a2..4a25a20 100644
--- a/api-tests/platform/targets/common/nspe/initial_attestation/pal_attestation_crypto.c
+++ b/api-tests/platform/targets/common/nspe/initial_attestation/pal_attestation_crypto.c
@@ -215,7 +215,7 @@
 static uint32_t pal_import_attest_key(psa_algorithm_t key_alg)
 {
     psa_status_t     status             = PAL_ATTEST_ERROR;
-    psa_key_usage_t  usage              = PSA_KEY_USAGE_VERIFY;
+    psa_key_usage_t  usage              = PSA_KEY_USAGE_VERIFY_HASH;
     psa_ecc_family_t ecc_family;
     psa_key_type_t   attest_key_type;
     size_t           public_key_size;
diff --git a/api-tests/tools/cmake/compiler/INHERIT.cmake b/api-tests/tools/cmake/compiler/INHERIT.cmake
new file mode 100644
index 0000000..b2570c8
--- /dev/null
+++ b/api-tests/tools/cmake/compiler/INHERIT.cmake
@@ -0,0 +1,19 @@
+#/** @file
+# * Copyright (c) 2021, Arm Limited or its affiliates. All rights reserved.
+# * SPDX-License-Identifier : Apache-2.0
+# *
+# * Licensed under the Apache License, Version 2.0 (the "License");
+# * you may not use this file except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# *  http://www.apache.org/licenses/LICENSE-2.0
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+#**/
+
+# Add any external definitions from the parent build
+add_definitions(${ARCH_TEST_EXTERNAL_DEFS})
diff --git a/api-tests/tools/scripts/target_cfg/CMakeLists.txt b/api-tests/tools/scripts/target_cfg/CMakeLists.txt
index f6ebd3e..259eb9c 100644
--- a/api-tests/tools/scripts/target_cfg/CMakeLists.txt
+++ b/api-tests/tools/scripts/target_cfg/CMakeLists.txt
@@ -25,6 +25,12 @@
 include("common/CMakeSettings")
 include("common/Utils")
 
+# Causes toolchain to be re-evaluated
+unset(ENV{CC})
+
+# Let the CMake look for C compiler
+project(TargetConfigGen LANGUAGES C)
+
 # Check whether required arguments are passed to CMake
 _check_arguments("OUT_DIR"
 		"TARGET"
