diff --git a/buildconfig/CMake/FindCxxTest.cmake b/buildconfig/CMake/FindCxxTest.cmake
index 301130c75e950af13b9748b50aba05434d14a936..ffb3dad5f08348f62abea9cbf66b1bae3e16beb0 100644
--- a/buildconfig/CMake/FindCxxTest.cmake
+++ b/buildconfig/CMake/FindCxxTest.cmake
@@ -212,7 +212,7 @@ macro(CXXTEST_ADD_TEST _cxxtest_testname)
 
         set( _LSAN_OPTS "suppressions=${SUPPRESSIONS_DIR}/Leak.supp" )
           set_property( TEST ${_cxxtest_separate_name} APPEND PROPERTY
-          ENVIRONMENT LSAN_OPTIONS= ${_LSAN_OPTS} )
+          ENVIRONMENT LSAN_OPTIONS=${_LSAN_OPTS} )
 
       endif()
 
diff --git a/buildconfig/CMake/Sanitizers.cmake b/buildconfig/CMake/Sanitizers.cmake
index 3850a7db0998ba7b75b955c07107bbcb7373385a..4e8c29a8e274edb188102534cc753a2b8ced9ba1 100644
--- a/buildconfig/CMake/Sanitizers.cmake
+++ b/buildconfig/CMake/Sanitizers.cmake
@@ -34,30 +34,29 @@ if(NOT ${USE_SANITIZERS_LOWER} MATCHES "off")
 
         add_compile_options(-fno-omit-frame-pointer -fno-optimize-sibling-calls)
     endif()
-
-    # Allow all instrumented code to continue beyond the first error
-    add_compile_options(-fsanitize-recover=all)
-
-    # Address
-    add_compile_options(
-        $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"address">:-fsanitize=address>)
-    add_link_options(
-        $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"address">:-fsanitize=address>)
-
-    # Thread
-    add_compile_options(
-        $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"thread">:-fsanitize=thread>)
-    add_link_options(
-        $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"thread">:-fsanitize=thread>)
-
-    # Undefined
-    # RTTI information is not exported for some classes causing the
-    # linker to fail whilst adding vptr instrumentation
-    add_compile_options(
-        $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"undefined">:-fsanitize=undefined>
-        $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"undefined">:-fno-sanitize=vptr>)
-
-    add_link_options(
-        $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"undefined">:-fsanitize=undefined>)
-
 endif()
+
+# Allow all instrumented code to continue beyond the first error
+add_compile_options($<$<NOT:$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"off">>:-fsanitize-recover=all>)
+
+# Address
+add_compile_options(
+    $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"address">:-fsanitize=address>)
+add_link_options(
+    $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"address">:-fsanitize=address>)
+
+# Thread
+add_compile_options(
+    $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"thread">:-fsanitize=thread>)
+add_link_options(
+    $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"thread">:-fsanitize=thread>)
+
+# Undefined
+# RTTI information is not exported for some classes causing the
+# linker to fail whilst adding vptr instrumentation
+add_compile_options(
+    $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"undefined">:-fsanitize=undefined>
+    $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"undefined">:-fno-sanitize=vptr>)
+
+add_link_options(
+    $<$<STREQUAL:$<LOWER_CASE:"${USE_SANITIZER}">,"undefined">:-fsanitize=undefined>)