diff --git a/CommonConfig.cmake b/CommonConfig.cmake
index eb37566..bfcdf18 100644
--- a/CommonConfig.cmake
+++ b/CommonConfig.cmake
@@ -103,6 +103,7 @@
 #Settings which shall be set for all projects the same way based
 # on the variables above.
 set (TFM_PARTITION_TEST_CORE OFF)
+set (TFM_PARTITION_TEST_CORE_IPC OFF)
 set (CORE_TEST_POSITIVE OFF)
 set (CORE_TEST_INTERACTIVE OFF)
 set (REFERENCE_PLATFORM OFF)
@@ -130,7 +131,6 @@
 
 if (CORE_IPC)
 	set(TFM_PSA_API ON)
-	set(CORE_TEST_IPC ON)
 endif()
 
 if (TFM_PSA_API)
@@ -144,14 +144,20 @@
 if (SERVICES_TEST_ENABLED)
 	set(SERVICE_TEST_S ON)
 	set(SERVICE_TEST_NS ON)
-	if (REFERENCE_PLATFORM AND NOT CORE_IPC)
+	if (CORE_IPC)
+		set(CORE_TEST_IPC ON)
+	elseif (REFERENCE_PLATFORM)
 		set(CORE_TEST_POSITIVE ON)
 	endif()
 endif()
 
 if (CORE_TEST)
-	set(CORE_TEST_POSITIVE ON)
-	set(CORE_TEST_INTERACTIVE OFF)
+	if (CORE_IPC)
+		set(CORE_TEST_IPC ON)
+	elseif (REFERENCE_PLATFORM)
+		set(CORE_TEST_POSITIVE ON)
+		set(CORE_TEST_INTERACTIVE OFF)
+	endif()
 endif()
 
 if (CORE_TEST_INTERACTIVE)
@@ -168,12 +174,14 @@
 
 if (CORE_TEST_IPC)
 	add_definitions(-DCORE_TEST_IPC)
-	# If PSA_API_TEST is enabled, don't run TF-M test framework from NS
-	if (PSA_API_TEST)
-	  set(TEST_FRAMEWORK_NS OFF)
-	else()
-	  set(TEST_FRAMEWORK_NS ON)
-	endif()
+	set(TEST_FRAMEWORK_NS ON)
+	set(TFM_PARTITION_TEST_CORE_IPC ON)
+elseif (CORE_IPC AND (NOT PSA_API_TEST) AND (TFM_LVL EQUAL 1))
+	# FIXME: Running the Core IPC tests in this config is deprecated and will
+	# be removed in the future.
+	set(CORE_TEST_IPC ON)
+	add_definitions(-DCORE_TEST_IPC)
+	set(TEST_FRAMEWORK_NS ON)
 endif()
 
 if (SERVICE_TEST_S)
@@ -213,6 +221,10 @@
 	add_definitions(-DTFM_PARTITION_TEST_CORE)
 endif()
 
+if (TFM_PARTITION_TEST_CORE_IPC)
+	add_definitions(-DTFM_PARTITION_TEST_CORE_IPC)
+endif()
+
 if (TFM_PARTITION_TEST_SECURE_SERVICES)
 	add_definitions(-DTFM_PARTITION_TEST_SECURE_SERVICES)
 endif()
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 5aeebf7..0d1f2d8 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -131,12 +131,6 @@
 embedded_target_include_directories(TARGET ${PROJECT_OBJ_LIB} PATH ${CMSIS_5_DIR}/CMSIS/RTOS2/Include ABSOLUTE APPEND)
 embedded_target_include_directories(TARGET ${PROJECT_OBJ_LIB} PATH ${CMSIS_5_DIR}/CMSIS/RTOS2/RTX/Config  ABSOLUTE APPEND)
 
-if (NOT DEFINED CORE_TEST)
-	message(FATAL_ERROR "Incomplete build configuration: CORE_TEST is undefined. ")
-elseif(CORE_TEST)
-	target_compile_definitions(${PROJECT_OBJ_LIB} PRIVATE CORE_TEST)
-endif()
-
 if (NOT DEFINED TFM_NS_CLIENT_IDENTIFICATION)
 	message(FATAL_ERROR "Incomplete build configuration: TFM_NS_CLIENT_IDENTIFICATION is undefined.")
 elseif (TFM_NS_CLIENT_IDENTIFICATION)
@@ -240,6 +234,12 @@
 		embedded_set_target_link_defines(TARGET ${EXE_NAME} DEFINES "TFM_PARTITION_TEST_CORE")
 	endif()
 
+	if (NOT DEFINED TFM_PARTITION_TEST_CORE_IPC)
+		message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_CORE_IPC is undefined.")
+	elseif (TFM_PARTITION_TEST_CORE_IPC)
+		embedded_set_target_link_defines(TARGET ${EXE_NAME} DEFINES "TFM_PARTITION_TEST_CORE_IPC")
+	endif()
+
 	if (NOT DEFINED TFM_PARTITION_TEST_SECURE_SERVICES)
 		message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_SECURE_SERVICES is undefined. ")
 	elseif (TFM_PARTITION_TEST_SECURE_SERVICES)
diff --git a/interface/include/tfm_veneers.h b/interface/include/tfm_veneers.h
index ae4bb69..db3de27 100644
--- a/interface/include/tfm_veneers.h
+++ b/interface/include/tfm_veneers.h
@@ -107,13 +107,13 @@
 psa_status_t tfm_tfm_secure_client_service_sfn_run_tests_veneer(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len);
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /******** TFM_SP_IPC_SERVICE_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /******** TFM_SP_IPC_CLIENT_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
 #ifdef __cplusplus
 }
diff --git a/platform/ext/common/armclang/tfm_common_s.sct b/platform/ext/common/armclang/tfm_common_s.sct
index 48e27b1..141c6a9 100644
--- a/platform/ext/common/armclang/tfm_common_s.sct
+++ b/platform/ext/common/armclang/tfm_common_s.sct
@@ -92,12 +92,12 @@
     }
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
     TFM_SP_IPC_SERVICE_TEST +0 ALIGN 32 {
         *ipc_service_test.* (+RO)
         *(TFM_SP_IPC_SERVICE_TEST_ATTR_FN)
     }
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
     /*
      * This empty, zero long execution region is here to mark the end address
@@ -128,12 +128,12 @@
     }
 #endif /* TFM_PARTITION_TEST_CORE */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
     TFM_SP_IPC_CLIENT_TEST +0 ALIGN 32 {
         *ipc_client_test.* (+RO)
         *(TFM_SP_IPC_CLIENT_TEST_ATTR_FN)
     }
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
     /*
      * This empty, zero long execution region is here to mark the end address
@@ -262,7 +262,7 @@
 #endif
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
     TFM_SP_IPC_SERVICE_TEST_DATA +0 ALIGN 32 {
         *ipc_service_test.* (+RW +ZI)
     }
@@ -271,7 +271,7 @@
     TFM_SP_IPC_SERVICE_TEST_STACK +0 ALIGN 128 EMPTY 0x0200 {
     }
 #endif
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
     /*
      * This empty, zero long execution region is here to mark the end address
@@ -310,7 +310,7 @@
 #endif
 #endif /* TFM_PARTITION_TEST_CORE */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
     TFM_SP_IPC_CLIENT_TEST_DATA +0 ALIGN 32 {
         *ipc_client_test.* (+RW +ZI)
     }
@@ -319,7 +319,7 @@
     TFM_SP_IPC_CLIENT_TEST_STACK +0 ALIGN 128 EMPTY 0x0200 {
     }
 #endif
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
     /*
      * This empty, zero long execution region is here to mark the end address
diff --git a/platform/ext/common/gcc/tfm_common_s.ld b/platform/ext/common/gcc/tfm_common_s.ld
index 9410b92..f790182 100644
--- a/platform/ext/common/gcc/tfm_common_s.ld
+++ b/platform/ext/common/gcc/tfm_common_s.ld
@@ -103,16 +103,16 @@
         LONG (ADDR(.TFM_SP_SECURE_TEST_PARTITION_DATA))
         LONG (SIZEOF(.TFM_SP_SECURE_TEST_PARTITION_DATA))
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
         LONG (LOADADDR(.TFM_SP_IPC_SERVICE_TEST_DATA))
         LONG (ADDR(.TFM_SP_IPC_SERVICE_TEST_DATA))
         LONG (SIZEOF(.TFM_SP_IPC_SERVICE_TEST_DATA))
-#endif /* TFM_PSA_API */
-#ifdef TFM_PSA_API
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
+#ifdef TFM_PARTITION_TEST_CORE_IPC
         LONG (LOADADDR(.TFM_SP_IPC_CLIENT_TEST_DATA))
         LONG (ADDR(.TFM_SP_IPC_CLIENT_TEST_DATA))
         LONG (SIZEOF(.TFM_SP_IPC_CLIENT_TEST_DATA))
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
         __copy_table_end__ = .;
     } > FLASH
 
@@ -188,22 +188,22 @@
         LONG (SIZEOF(.TFM_SP_SECURE_TEST_PARTITION_STACK))
 #endif
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
         LONG (ADDR(.TFM_SP_IPC_SERVICE_TEST_BSS))
         LONG (SIZEOF(.TFM_SP_IPC_SERVICE_TEST_BSS))
 #if defined(TFM_PSA_API) || (TFM_LVL != 1)
         LONG (ADDR(.TFM_SP_IPC_SERVICE_TEST_STACK))
         LONG (SIZEOF(.TFM_SP_IPC_SERVICE_TEST_STACK))
 #endif
-#endif /* TFM_PSA_API */
-#ifdef TFM_PSA_API
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
+#ifdef TFM_PARTITION_TEST_CORE_IPC
         LONG (ADDR(.TFM_SP_IPC_CLIENT_TEST_BSS))
         LONG (SIZEOF(.TFM_SP_IPC_CLIENT_TEST_BSS))
 #if defined(TFM_PSA_API) || (TFM_LVL != 1)
         LONG (ADDR(.TFM_SP_IPC_CLIENT_TEST_STACK))
         LONG (SIZEOF(.TFM_SP_IPC_CLIENT_TEST_STACK))
 #endif
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 #if !defined(TFM_PSA_API)
         LONG (ADDR(.TFM_UNPRIV_SCRATCH))
         LONG (SIZEOF(.TFM_UNPRIV_SCRATCH))
@@ -334,7 +334,7 @@
     Image$$TFM_SP_SECURE_TEST_PARTITION$$Limit = ADDR(.TFM_SP_SECURE_TEST_PARTITION) + SIZEOF(.TFM_SP_SECURE_TEST_PARTITION);
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
     .TFM_SP_IPC_SERVICE_TEST : ALIGN(32)
     {
         *ipc_service_test.*(.text*)
@@ -346,7 +346,7 @@
     Image$$TFM_SP_IPC_SERVICE_TEST$$RO$$Limit = ADDR(.TFM_SP_IPC_SERVICE_TEST) + SIZEOF(.TFM_SP_IPC_SERVICE_TEST);
     Image$$TFM_SP_IPC_SERVICE_TEST$$Base = ADDR(.TFM_SP_IPC_SERVICE_TEST);
     Image$$TFM_SP_IPC_SERVICE_TEST$$Limit = ADDR(.TFM_SP_IPC_SERVICE_TEST) + SIZEOF(.TFM_SP_IPC_SERVICE_TEST);
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
     /**** PSA RoT RO part (CODE + RODATA) end here */
     Image$$TFM_PSA_CODE_END$$Base = .;
@@ -382,7 +382,7 @@
     Image$$TFM_SP_CORE_TEST_2$$Limit = ADDR(.TFM_SP_CORE_TEST_2) + SIZEOF(.TFM_SP_CORE_TEST_2);
 #endif /* TFM_PARTITION_TEST_CORE */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
     .TFM_SP_IPC_CLIENT_TEST : ALIGN(32)
     {
         *ipc_client_test.*(.text*)
@@ -394,7 +394,7 @@
     Image$$TFM_SP_IPC_CLIENT_TEST$$RO$$Limit = ADDR(.TFM_SP_IPC_CLIENT_TEST) + SIZEOF(.TFM_SP_IPC_CLIENT_TEST);
     Image$$TFM_SP_IPC_CLIENT_TEST$$Base = ADDR(.TFM_SP_IPC_CLIENT_TEST);
     Image$$TFM_SP_IPC_CLIENT_TEST$$Limit = ADDR(.TFM_SP_IPC_CLIENT_TEST) + SIZEOF(.TFM_SP_IPC_CLIENT_TEST);
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
     /**** APPLICATION RoT RO part (CODE + RODATA) end here */
     Image$$TFM_APP_CODE_END$$Base = .;
@@ -725,7 +725,7 @@
 
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
     .TFM_SP_IPC_SERVICE_TEST_DATA : ALIGN(32)
     {
         *ipc_service_test.*(.data*)
@@ -752,7 +752,7 @@
     Image$$TFM_SP_IPC_SERVICE_TEST_STACK$$ZI$$Limit = ADDR(.TFM_SP_IPC_SERVICE_TEST_STACK) + SIZEOF(.TFM_SP_IPC_SERVICE_TEST_STACK);
 #endif
 
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
     /**** PSA RoT DATA end here */
     Image$$TFM_PSA_RW_STACK_END$$Base = .;
@@ -818,7 +818,7 @@
 
 #endif /* TFM_PARTITION_TEST_CORE */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
     .TFM_SP_IPC_CLIENT_TEST_DATA : ALIGN(32)
     {
         *ipc_client_test.*(.data*)
@@ -845,7 +845,7 @@
     Image$$TFM_SP_IPC_CLIENT_TEST_STACK$$ZI$$Limit = ADDR(.TFM_SP_IPC_CLIENT_TEST_STACK) + SIZEOF(.TFM_SP_IPC_CLIENT_TEST_STACK);
 #endif
 
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
     /**** APPLICATION RoT DATA end here */
     Image$$TFM_APP_RW_STACK_END$$Base = .;
diff --git a/secure_fw/CMakeLists.txt b/secure_fw/CMakeLists.txt
index 3186c5d..73dcc29 100644
--- a/secure_fw/CMakeLists.txt
+++ b/secure_fw/CMakeLists.txt
@@ -98,7 +98,7 @@
 if (NOT DEFINED CORE_TEST)
 	message(FATAL_ERROR "Incomplete build configuration: CORE_TEST is undefined.")
 elseif(CORE_TEST)
-	embedded_set_target_compile_defines(TARGET ${PROJECT_OBJ_LIB} LANGUAGE C DEFINES TFM_CORE_DEBUG TFM_PARTITION_TEST_CORE APPEND)
+	embedded_set_target_compile_defines(TARGET ${PROJECT_OBJ_LIB} LANGUAGE C DEFINES TFM_CORE_DEBUG APPEND)
 endif()
 
 if (NOT DEFINED TFM_NS_CLIENT_IDENTIFICATION)
@@ -166,7 +166,7 @@
 	#Set macro definitions for the project.
 	embedded_set_target_compile_defines(TARGET ${PROJECT_OBJ_LIB} LANGUAGE C DEFINES __thumb2__ __ARM_FEATURE_CMSE=3 TFM_LVL=${TFM_LVL} ${DEBUG_AUTHENTICATION} APPEND)
 
-	if (REGRESSION OR CORE_TEST OR CORE_IPC)
+	if (REGRESSION OR CORE_TEST)
 		if (DEFINED TFM_PARTITION_TEST_SECURE_SERVICES AND TFM_PARTITION_TEST_SECURE_SERVICES)
 			#The test service veneers in the tfm_secure_tests library may not be
 			#referenced in the secure binary so the veneer objects are explicitly loaded
@@ -213,6 +213,12 @@
 		embedded_set_target_link_defines(TARGET ${EXE_NAME} DEFINES "TFM_PARTITION_TEST_CORE")
 	endif()
 
+	if (NOT DEFINED TFM_PARTITION_TEST_CORE_IPC)
+		message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_CORE_IPC is undefined.")
+	elseif (TFM_PARTITION_TEST_CORE_IPC)
+		embedded_set_target_link_defines(TARGET ${EXE_NAME} DEFINES "TFM_PARTITION_TEST_CORE_IPC")
+	endif()
+
 	if (NOT DEFINED TFM_PARTITION_TEST_SECURE_SERVICES)
 		message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_SECURE_SERVICES is undefined. ")
 	elseif (TFM_PARTITION_TEST_SECURE_SERVICES)
diff --git a/secure_fw/ns_callable/tfm_veneers.c b/secure_fw/ns_callable/tfm_veneers.c
index f04422d..aff38e8 100644
--- a/secure_fw/ns_callable/tfm_veneers.c
+++ b/secure_fw/ns_callable/tfm_veneers.c
@@ -101,13 +101,13 @@
 psa_status_t tfm_secure_client_service_sfn_run_tests(psa_invec *, size_t, psa_outvec *, size_t);
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /******** TFM_SP_IPC_SERVICE_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /******** TFM_SP_IPC_CLIENT_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
 
 #define TFM_VENEER_FUNCTION(partition_name, sfn_name) \
@@ -213,11 +213,11 @@
 TFM_VENEER_FUNCTION(TFM_SP_SECURE_TEST_PARTITION, tfm_secure_client_service_sfn_run_tests)
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /******** TFM_SP_IPC_SERVICE_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /******** TFM_SP_IPC_CLIENT_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
diff --git a/secure_fw/services/crypto/CMakeLists.txt b/secure_fw/services/crypto/CMakeLists.txt
index e288461..5f028c7 100644
--- a/secure_fw/services/crypto/CMakeLists.txt
+++ b/secure_fw/services/crypto/CMakeLists.txt
@@ -37,13 +37,6 @@
 
 include(CMakeLists.inc)
 
-#Configure how we build our target
-if(DEFINED CORE_TEST)
-  set (TFM_LVL 3)
-else()
-  set (TFM_LVL 1)
-endif()
-
 #Create a list of the C defines
 list(APPEND TFM_CRYPTO_C_DEFINES_LIST __ARM_FEATURE_CMSE=3 __thumb2__ TFM_LVL=${TFM_LVL})
 
diff --git a/secure_fw/services/tfm_partition_defs.inc b/secure_fw/services/tfm_partition_defs.inc
index 3a0b197..19e459d 100644
--- a/secure_fw/services/tfm_partition_defs.inc
+++ b/secure_fw/services/tfm_partition_defs.inc
@@ -36,13 +36,13 @@
 #define TFM_SP_SECURE_TEST_PARTITION_ID (TFM_SP_BASE + 7)
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 #define TFM_SP_IPC_SERVICE_TEST_ID (TFM_SP_BASE + 8)
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 #define TFM_SP_IPC_CLIENT_TEST_ID (TFM_SP_BASE + 9)
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
 #define TFM_MAX_USER_PARTITIONS (10)
 
diff --git a/secure_fw/services/tfm_partition_list.inc b/secure_fw/services/tfm_partition_list.inc
index 3a47e19..fef79e6 100644
--- a/secure_fw/services/tfm_partition_list.inc
+++ b/secure_fw/services/tfm_partition_list.inc
@@ -71,20 +71,20 @@
 PARTITION_ADD_PERIPHERAL(TFM_SP_SECURE_TEST_PARTITION, TFM_PERIPHERAL_STD_UART);
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /******** TFM_SP_IPC_SERVICE_TEST ********/
 PARTITION_DECLARE(TFM_SP_IPC_SERVICE_TEST, 0
     | SPM_PART_FLAG_IPC
     , "PSA-ROT", 0x00000007, HIGH);
 PARTITION_ADD_INIT_FUNC(TFM_SP_IPC_SERVICE_TEST, ipc_service_test_main);
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /******** TFM_SP_IPC_CLIENT_TEST ********/
 PARTITION_DECLARE(TFM_SP_IPC_CLIENT_TEST, 0
     | SPM_PART_FLAG_IPC
     , "APPLICATION-ROT", 0x00000006, NORMAL);
 PARTITION_ADD_INIT_FUNC(TFM_SP_IPC_CLIENT_TEST, ipc_client_init);
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
 #endif /* __TFM_PARTITION_LIST_INC__ */
diff --git a/secure_fw/services/tfm_service_list.inc b/secure_fw/services/tfm_service_list.inc
index 3bc40c7..51b0a51 100644
--- a/secure_fw/services/tfm_service_list.inc
+++ b/secure_fw/services/tfm_service_list.inc
@@ -264,7 +264,7 @@
 },
 #endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /******** TFM_SP_IPC_SERVICE_TEST ********/
 {
         "IPC_SID_BASIC",
@@ -275,10 +275,10 @@
         1,
         TFM_VERSION_POLICY_STRICT
 },
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
-#ifdef TFM_PSA_API
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /******** TFM_SP_IPC_CLIENT_TEST ********/
-#endif /* TFM_PSA_API */
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
 #endif /* __TFM_SERVICE_LIST_INC__ */
diff --git a/test/suites/core/CMakeLists.inc b/test/suites/core/CMakeLists.inc
index fef1ee4..85092e2 100644
--- a/test/suites/core/CMakeLists.inc
+++ b/test/suites/core/CMakeLists.inc
@@ -1,5 +1,5 @@
 #-------------------------------------------------------------------------------
-# Copyright (c) 2017-2018, Arm Limited. All rights reserved.
+# Copyright (c) 2017-2019, Arm Limited. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
@@ -25,7 +25,7 @@
 endif()
 
 if (NOT DEFINED TFM_PARTITION_TEST_CORE)
-	message(FATAL_ERROR "Incomplete build configuration: CORE_TEST is undefined. ")
+	message(FATAL_ERROR "Incomplete build configuration: TFM_PARTITION_TEST_CORE is undefined. ")
 elseif (TFM_PARTITION_TEST_CORE)
 	list(APPEND ALL_SRC_C_NS "${CORE_TEST_DIR}/non_secure/core_test_api.c")
 endif()
@@ -46,4 +46,3 @@
 embedded_include_directories(PATH ${TFM_ROOT_DIR} ABSOLUTE)
 embedded_include_directories(PATH ${TFM_ROOT_DIR}/test/interface/include ABSOLUTE)
 embedded_include_directories(PATH ${TFM_ROOT_DIR}/interface/include ABSOLUTE)
-
diff --git a/test/suites/ipc/non_secure/ipc_ns_interface_testsuite.c b/test/suites/ipc/non_secure/ipc_ns_interface_testsuite.c
index ad86b95..ad1702e 100644
--- a/test/suites/ipc/non_secure/ipc_ns_interface_testsuite.c
+++ b/test/suites/ipc/non_secure/ipc_ns_interface_testsuite.c
@@ -15,11 +15,14 @@
 
 /* List of tests */
 static void tfm_ipc_test_1001(struct test_result_t *ret);
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 static void tfm_ipc_test_1002(struct test_result_t *ret);
 static void tfm_ipc_test_1003(struct test_result_t *ret);
 static void tfm_ipc_test_1004(struct test_result_t *ret);
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 
 static struct test_t ipc_veneers_tests[] = {
+#ifdef TFM_PARTITION_TEST_CORE_IPC
     {&tfm_ipc_test_1001, "TFM_IPC_TEST_1001",
      "Get PSA framework version", {0} },
     {&tfm_ipc_test_1002, "TFM_IPC_TEST_1002",
@@ -28,6 +31,10 @@
      "Connect to a RoT Service", {0} },
     {&tfm_ipc_test_1004, "TFM_IPC_TEST_1004",
      "Call a RoT Service", {0} }
+#else /* TFM_PARTITION_TEST_CORE_IPC */
+    {&tfm_ipc_test_1001, "TFM_IPC_TEST_1001",
+     "Deprecated", {0} },
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 };
 
 void register_testsuite_ns_ipc_interface(struct test_suite_t *p_test_suite)
@@ -49,6 +56,7 @@
  */
 static void tfm_ipc_test_1001(struct test_result_t *ret)
 {
+#ifdef TFM_PARTITION_TEST_CORE_IPC
     uint32_t version;
 
     version = psa_framework_version();
@@ -58,8 +66,12 @@
         TEST_FAIL("The version of the PSA Framework API is not valid!\r\n");
         return;
     }
+#else /* TFM_PARTITION_TEST_CORE_IPC */
+    TEST_LOG("Running IPC tests in this config is deprecated\r\n");
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
 }
 
+#ifdef TFM_PARTITION_TEST_CORE_IPC
 /**
  * \brief Retrieve the minor version of a RoT Service.
  */
@@ -131,3 +143,4 @@
     psa_close(handle);
     ret->val = TEST_PASSED;
 }
+#endif /* TFM_PARTITION_TEST_CORE_IPC */
diff --git a/tools/tfm_manifest_list.yaml b/tools/tfm_manifest_list.yaml
index 1fea8fa..ff3db72 100644
--- a/tools/tfm_manifest_list.yaml
+++ b/tools/tfm_manifest_list.yaml
@@ -85,7 +85,7 @@
       "short_name": "TFM_IPC_Service",
       "manifest": "test/test_services/tfm_ipc_service/tfm_ipc_service_partition.yaml",
       "tfm_extensions": true,
-      "conditional": "TFM_PSA_API",
+      "conditional": "TFM_PARTITION_TEST_CORE_IPC",
       "version_major": 0,
       "version_minor": 1
     },
@@ -94,7 +94,7 @@
       "short_name": "TFM_IPC_Client",
       "manifest": "test/test_services/tfm_ipc_client/tfm_ipc_client_partition.yaml",
       "tfm_extensions": true,
-      "conditional": "TFM_PSA_API",
+      "conditional": "TFM_PARTITION_TEST_CORE_IPC",
       "version_major": 0,
       "version_minor": 1
     }
