diff --git a/CMakeLists.txt b/CMakeLists.txt
index e0557ca1f295636d68a36fedb5ec70437159852a..5e9f761c357996f68b96af760877432283bc90c5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,8 +21,8 @@ cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
 # - Any policy requirements should go here
 
 # - Make overrides for default flags, so they appear in interfaces
-set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
-   ${CMAKE_SOURCE_DIR}/cmake/Modules/Geant4MakeRules_cxx.cmake)
+# set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
+#    ${CMAKE_SOURCE_DIR}/cmake/Modules/Geant4MakeRules_cxx.cmake)
 
 #-----------------------------------------------------------------------
 # - Project definition and basic configuration
@@ -43,6 +43,25 @@ set(CMAKE_MODULE_PATH
     ${PROJECT_SOURCE_DIR}/cmake/Modules
     ${CMAKE_MODULE_PATH})
 
+# FIXME: code copied from cmake/Modules/Geant4MakeRules_cxx.cmake waiting for proper refactoring
+if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang|Intel")
+  # available models, default first
+  set(_TLSMODELS initial-exec local-exec global-dynamic local-dynamic)
+  foreach(_s ${_TLSMODELS})
+    set(${_s}_TLSMODEL_FLAGS "-ftls-model=${_s}")
+  endforeach()
+
+  list(APPEND _TLSMODELS auto)
+  set(auto_TLSMODEL_FLAGS "")
+
+  set(TLSMODEL_IS_AVAILABLE ${_TLSMODELS})
+
+  # FIXME: this is not the right way of enabling threads
+  # (see https://cmake.org/cmake/help/latest/module/FindThreads.html)
+  set(GEANT4_MULTITHREADED_CXX_FLAGS "-pthread")
+endif()
+
+
 #-----------------------------------------------------------------------
 # - Include CMake category main module
 #   Factored into category for convenience in tagging