diff --git a/scripts/cmake/CMakeSetup.cmake b/scripts/cmake/CMakeSetup.cmake
index 87dcfe20d493e5e4d7915fee8c3ed86ac9358800..81f7e34675823be64f09e028ba0368c2f267471a 100644
--- a/scripts/cmake/CMakeSetup.cmake
+++ b/scripts/cmake/CMakeSetup.cmake
@@ -18,7 +18,7 @@ if(NOT PROJECT_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
     set(OGS_BUILD_CLI OFF CACHE BOOL "" FORCE)
 endif()
 
-if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
+if(NOT CMAKE_BUILD_TYPE AND (NOT CMAKE_CONFIGURATION_TYPES OR OGS_USE_CONAN))
     message(STATUS "Setting build type to 'Debug' as none was specified.")
     set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE)
     set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
diff --git a/scripts/cmake/CompilerSetup.cmake b/scripts/cmake/CompilerSetup.cmake
index e7cda0f899a168dd606f2af25b3f5e1dc8636043..e8f69dfb66c1b73a6f8cc1c2845452756fcdd82f 100644
--- a/scripts/cmake/CompilerSetup.cmake
+++ b/scripts/cmake/CompilerSetup.cmake
@@ -1,7 +1,5 @@
 include(ResetConfigurations)        # To Debug, Release, RelWithDebInfo
-include(SetDefaultBuildType)
 include(DisableCompilerFlag)
-SET_DEFAULT_BUILD_TYPE(Debug)
 include(MSVCMultipleProcessCompile) # /MP switch (multi processor) for VS
 set(CMAKE_OSX_ARCHITECTURES "x86_64")
 
@@ -138,8 +136,6 @@ if(WIN32)
         set(CMAKE_CXX_FLAGS_RELWITHDEBINFO  "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} \
             /ZI /Od /Ob0")
 
-        set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
-
         DisableCompilerFlag(DEBUG /RTC1)
     # cygwin
     else()
diff --git a/scripts/cmake/ConanSetup.cmake b/scripts/cmake/ConanSetup.cmake
index 2af05fceeda6a67b7e7b905ab702b6f3132084c2..c25a6c86bac950ccc2767cbeb2f60f5970455b1a 100644
--- a/scripts/cmake/ConanSetup.cmake
+++ b/scripts/cmake/ConanSetup.cmake
@@ -2,6 +2,11 @@ if(NOT OGS_USE_CONAN)
     return()
 endif()
 
+if(CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
+    message(FATAL_ERROR "Multi-config generators are not yet supported when "
+        "using Conan. Specify CMAKE_BUILD_TYPE!")
+endif()
+
 set(OGS_QT_VERSION 5.6.2)
 if((${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang) AND
     (${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 8.3))
diff --git a/scripts/cmake/conan/conan.cmake b/scripts/cmake/conan/conan.cmake
index 6b8e36d8137b27d8a3c33604e02696f74d052d81..6bf355531a07affb04a4165534a5e0943619c589 100644
--- a/scripts/cmake/conan/conan.cmake
+++ b/scripts/cmake/conan/conan.cmake
@@ -176,7 +176,7 @@ function(conan_cmake_detect_vs_runtime result)
     string(TOUPPER ${CMAKE_BUILD_TYPE} build_type)
     set(variables CMAKE_CXX_FLAGS_${build_type} CMAKE_C_FLAGS_${build_type} CMAKE_CXX_FLAGS CMAKE_C_FLAGS)
     foreach(variable ${variables})
-        string(REPLACE " " ";" flags ${variable})
+        string(REPLACE " " ";" flags ${${variable}})
         foreach (flag ${flags})
             if(${flag} STREQUAL "/MD" OR ${flag} STREQUAL "/MDd" OR ${flag} STREQUAL "/MT" OR ${flag} STREQUAL "/MTd")
                 string(SUBSTRING ${flag} 1 -1 runtime)