diff --git a/CbmRoot_test.cmake b/CbmRoot_test.cmake
index 3c8747221b1393447f36a0cfba632c99f37cef33..bc7b2499dd4049f5bc4245cbb2a37e33dbf75e81 100644
--- a/CbmRoot_test.cmake
+++ b/CbmRoot_test.cmake
@@ -25,12 +25,7 @@ Set(CMAKE_MODULE_PATH "${CTEST_SOURCE_DIRECTORY}/cmake/modules" ${CMAKE_MODULE_P
 Include(CbmMacros)
 FairRootVersion()
 
-If(${FairRoot_VERSION} VERSION_LESS 16.0.0)
-  Set(CTEST_USE_LAUNCHERS 0)
-Else()
-  Set(CTEST_USE_LAUNCHERS 1)
-EndIf()
-
+Set(CTEST_USE_LAUNCHERS 1)
 
 If(${CBM_TEST_MODEL} MATCHES MergeRequest OR ${CBM_TEST_MODEL} MATCHES Continuous)
   Set(_BuildType NIGHTLY)
diff --git a/MQ/CMakeLists.txt b/MQ/CMakeLists.txt
index 0aeb4fccbb9cae39d41e59b952e02a7b95285b2d..b19ebfa4404d7c3119df50c3e0a36abe4d7739d0 100644
--- a/MQ/CMakeLists.txt
+++ b/MQ/CMakeLists.txt
@@ -1,13 +1,4 @@
-If(FairSoft_VERSION VERSION_LESS 18.6.0)
-  Add_Definitions(-DHAVE_FAIRMQSTATEMACHINE)
-EndIf()
-
-
-if(FairMQ_HAS_StateMachine)
-  Set(FAIRMQ_LIBS FairMQStateMachine FairMQ)
-else()
-  Set(FAIRMQ_LIBS FairMQ)
-EndIf()
+Set(FAIRMQ_LIBS FairMQStateMachine FairMQ)
 
 # RPATH information should be present for executables in the build as well
 # as in the installation directory
diff --git a/MQ/base/CbmMQDefs.h b/MQ/base/CbmMQDefs.h
index 516a99b6215e7938eca748f7365957693f617625..03c43516837d2967662d4d934255db9ed130e87c 100644
--- a/MQ/base/CbmMQDefs.h
+++ b/MQ/base/CbmMQDefs.h
@@ -2,9 +2,6 @@
    SPDX-License-Identifier: GPL-3.0-only
    Authors: Florian Uhlig [committer] */
 
-//#ifdef HAVE_FAIRMQSTATEMACHINE
-//#include "FairMQStateMachine.h"
-//#endif
 #include "FairMQDevice.h"
 
 namespace cbm
@@ -28,27 +25,6 @@ namespace cbm
 
     void ChangeState(FairMQDevice* device, cbm::mq::Transition transition)
     {
-#ifdef HAVE_FAIRMQSTATEMACHINE
-      if (transition == cbm::mq::Transition::ErrorFound) {
-        device->ChangeState(FairMQStateMachine::Event::ERROR_FOUND);
-      }
-      else if (transition == cbm::mq::Transition::End) {
-        device->ChangeState(FairMQStateMachine::Event::END);
-      }
-      else if (transition == cbm::mq::Transition::Ready) {
-        device->ChangeState(FairMQStateMachine::Event::internal_READY);
-      }
-      else if (transition == cbm::mq::Transition::DeviceReady) {
-        device->ChangeState(FairMQStateMachine::Event::internal_DEVICE_READY);
-      }
-      else if (transition == cbm::mq::Transition::Idle) {
-        device->ChangeState(FairMQStateMachine::Event::internal_IDLE);
-      }
-      else {
-        LOG(fatal) << "State Change not yet implemented";
-        device->ChangeState(FairMQStateMachine::Event::ERROR_FOUND);
-      }
-#else
       if (transition == cbm::mq::Transition::ErrorFound) { device->ChangeState(fair::mq::Transition::ErrorFound); }
       else if (transition == cbm::mq::Transition::End) {
         device->ChangeState(fair::mq::Transition::End);
@@ -66,36 +42,21 @@ namespace cbm
         LOG(fatal) << "State Change not yet implemented";
         device->ChangeState(fair::mq::Transition::ErrorFound);
       }
-#endif
     }
 
     void LogState(FairMQDevice* device)
     {
-#ifdef HAVE_FAIRMQSTATEMACHINE
-      //      LOG(info) << "Current State: " <<  FairMQStateMachine::GetCurrentStateName();
-      LOG(info) << "Current State: " << device->GetCurrentStateName();
-#else
       LOG(info) << "Current State: " << device->GetCurrentStateName();
-#endif
     }
 
     bool CheckCurrentState(FairMQDevice* device, cbm::mq::State state)
     {
-#ifdef HAVE_FAIRMQSTATEMACHINE
-      if (state == cbm::mq::State::Running) { return device->CheckCurrentState(FairMQStateMachine::State::RUNNING); }
-      else {
-        LOG(fatal) << "State not yet implemented";
-        device->ChangeState(FairMQStateMachine::Event::ERROR_FOUND);
-        return 0;
-      }
-#else
       if (state == cbm::mq::State::Running) { return !(device->NewStatePending()); }
       else {
         LOG(fatal) << "State not yet implemented";
         device->ChangeState(fair::mq::Transition::ErrorFound);
         return 0;
       }
-#endif
     }
   }  // namespace mq
 }  // namespace cbm
diff --git a/MQ/histoServer/CMakeLists.txt b/MQ/histoServer/CMakeLists.txt
index d6c772e21220eea4077867771c9c0de5bb05a19a..761cda1a8ad5f7382bb93281760d0c648b27bf98 100644
--- a/MQ/histoServer/CMakeLists.txt
+++ b/MQ/histoServer/CMakeLists.txt
@@ -51,11 +51,6 @@ If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-If(FairRoot_VERSION VERSION_LESS 18.2.0)
-  Add_Definitions(-DHAVE_RootDeserializer)
-EndIf()
-
-
 set(DEPENDENCIES_ALL
   ${DEPENDENCIES}
   ${FAIR_LIBS}
diff --git a/MQ/histoServer/CbmHistoServer.cxx b/MQ/histoServer/CbmHistoServer.cxx
index 93d15d733d0d397a511bed4c8b47e75f3f0fbfa6..a378a618a4f8e046e56af27bcef10be6742efec2 100644
--- a/MQ/histoServer/CbmHistoServer.cxx
+++ b/MQ/histoServer/CbmHistoServer.cxx
@@ -45,12 +45,7 @@ void CbmHistoServer::InitTask()
 bool CbmHistoServer::ReceiveData(FairMQMessagePtr& msg, int /*index*/)
 {
   TObject* tempObject = nullptr;
-#ifdef HAVE_RootDeserializer
-  Deserialize<RootDeserializer>(*msg, tempObject);
-#else
-  //  Deserialize<RootSerializer>(*msg, tempObject);
-  RootSerializer().Deserialize(*msg, tempObject);
-#endif
+  Deserialize<RootSerializer>(*msg, tempObject);
 
   if (TString(tempObject->ClassName()).EqualTo("TObjArray")) {
     std::lock_guard<std::mutex> lk(mtx);
diff --git a/MQ/mcbm/CMakeLists.txt b/MQ/mcbm/CMakeLists.txt
index 5abc91623ffd475388d75feb7dcbf898f011707c..ab4843e0c08cf9fc83cff3ec2bd088242738c732 100644
--- a/MQ/mcbm/CMakeLists.txt
+++ b/MQ/mcbm/CMakeLists.txt
@@ -259,36 +259,29 @@ set(DEPENDENCIES
 )
 GENERATE_EXECUTABLE()
 
-if (${CMAKE_CXX_STANDARD} EQUAL 17)
-  set(EXE_NAME EventBuilder)
-  set(SRCS CbmDeviceEventBuilder.cxx runEventBuilder.cxx)
-
-  set(DEPENDENCIES
-    ${DEPENDENCIES}
-    ${FAIR_LIBS}
-    ${BOOST_LIBS}
-    Algo
-    CbmFlibFlesTools
-    CbmEventBuilder
-    KF
-    L1
-    CbmBase
-    CbmRecoBase
-    CbmData
-    CbmTofBase
-    Core
-    RIO
-    Net
-    Hist
-    RHTTP
-  )
-  GENERATE_EXECUTABLE()
-endif()
-
-#set(INCLUDE_DIRECTORIES
-#    ${CBMDATA_DIR}/base
-#    $INCLUDE_DIRECTORIES
-#    )
+set(EXE_NAME EventBuilder)
+set(SRCS CbmDeviceEventBuilder.cxx runEventBuilder.cxx)
+
+set(DEPENDENCIES
+  ${DEPENDENCIES}
+  ${FAIR_LIBS}
+  ${BOOST_LIBS}
+  Algo
+  CbmFlibFlesTools
+  CbmEventBuilder
+  KF
+  L1
+  CbmBase
+  CbmRecoBase
+  CbmData
+  CbmTofBase
+  Core
+  RIO
+  Net
+  Hist
+  RHTTP
+)
+GENERATE_EXECUTABLE()
 
 set(EXE_NAME DigiEventSink)
 set(SRCS CbmDeviceDigiEventSink.cxx runDigiEventSink.cxx)
@@ -311,28 +304,26 @@ set(DEPENDENCIES
 )
 GENERATE_EXECUTABLE()
 
-if (${CMAKE_CXX_STANDARD} EQUAL 17)
-  set(EXE_NAME EventSink)
-  set(SRCS CbmDeviceEventSink.cxx runEventSink.cxx)
-
-  set(DEPENDENCIES
-    ${DEPENDENCIES}
-    ${FAIR_LIBS}
-    ${BOOST_LIBS}
-    fles_ipc
-    CbmFlibMcbm2018
-    CbmFlibFlesTools
-    CbmBase
-    CbmData
-    Core
-    RIO
-    Tree
-    Net
-    Hist
-    RHTTP
-  )
-  GENERATE_EXECUTABLE()
-endif()
+set(EXE_NAME EventSink)
+set(SRCS CbmDeviceEventSink.cxx runEventSink.cxx)
+
+set(DEPENDENCIES
+  ${DEPENDENCIES}
+  ${FAIR_LIBS}
+  ${BOOST_LIBS}
+  fles_ipc
+  CbmFlibMcbm2018
+  CbmFlibFlesTools
+  CbmBase
+  CbmData
+  Core
+  RIO
+  Tree
+  Net
+  Hist
+  RHTTP
+)
+GENERATE_EXECUTABLE()
 
 # Set the correct variables for the installation
 set(VMCWORKDIR ${CMAKE_INSTALL_PREFIX}/share/cbmroot)
diff --git a/core/base/CMakeLists.txt b/core/base/CMakeLists.txt
index 506060bc73a0e1e8142183d35415d75ca03ec7a8..ee65ab3b77f8163498e9144022cae8fc095f519e 100644
--- a/core/base/CMakeLists.txt
+++ b/core/base/CMakeLists.txt
@@ -61,12 +61,6 @@ utils/CbmFileUtils.cxx
 )
 
 
-If(${FairRoot_VERSION} VERSION_LESS 18.4.0)
-  set_source_files_properties(utils/CbmGeometryUtils.cxx
-                              PROPERTIES COMPILE_DEFINITIONS OLD_MODULE_VERSION
-                             )
-EndIf()
-
 Set(LINKDEF CbmBaseLinkDef.h)
 Set(LIBRARY_NAME CbmBase)
 Set(DEPENDENCIES
diff --git a/core/base/utils/CbmGeometryUtils.cxx b/core/base/utils/CbmGeometryUtils.cxx
index cf094b6162280e2627a08805665296fbac882c1f..6f56baab5687aa7650a45c3300bb1ccb10a9a368 100644
--- a/core/base/utils/CbmGeometryUtils.cxx
+++ b/core/base/utils/CbmGeometryUtils.cxx
@@ -326,11 +326,7 @@ namespace Cbm
         if (fNode->GetNdaughters() > 0) { Cbm::GeometryUtils::ExpandNodes(v, mod); }
         Cbm::GeometryUtils::AssignMediumAtImport(v);
 
-#ifdef OLD_MODULE_VERSION
-        if ((mod->InheritsFrom("FairDetector")) && mod->CheckIfSensitive(v->GetName())) {
-#else
         if ((mod->InheritsFrom("FairDetector")) && mod->IsSensitive(v->GetName())) {
-#endif
           LOG(debug) << "Module " << v->GetName() << " of detector " << mod->GetName() << " is sensitive";
           mod->AddSensitiveVolume(v);
         }
diff --git a/macro/CMakeLists.txt b/macro/CMakeLists.txt
index ffadbc3d6dfea9f7ea2201a8166269f12a15f1b4..073f4f32a49ba401ee8d807bd808ab00b08c95f5 100644
--- a/macro/CMakeLists.txt
+++ b/macro/CMakeLists.txt
@@ -4,9 +4,7 @@ add_subdirectory(mcbm)
 add_subdirectory(mvd)
 add_subdirectory(much)
 add_subdirectory(include)
-if (${CMAKE_CXX_STANDARD} EQUAL 17)
-  add_subdirectory (reco)
-endif()
+add_subdirectory (reco)
 
 #--- Additional tests for nightly builds
 If(NOT ${CBM_TEST_MODEL} MATCHES Experimental)
diff --git a/reco/CMakeLists.txt b/reco/CMakeLists.txt
index 2df13eab8925ed3d772dee185cbf1e2f9e200b3b..f17376633c84b1953d2b250a88d7861c04a04f8a 100644
--- a/reco/CMakeLists.txt
+++ b/reco/CMakeLists.txt
@@ -12,7 +12,5 @@ add_subdirectory(littrack)
 add_subdirectory(steer)
 add_subdirectory(tracking)
 add_subdirectory(qa)
-if (${CMAKE_CXX_STANDARD} EQUAL 17)
-  add_subdirectory (tasks)
-  add_subdirectory (app)
-endif()
+add_subdirectory (tasks)
+add_subdirectory (app)
diff --git a/tutorials/TaskToAlgo/CMakeLists.txt b/tutorials/TaskToAlgo/CMakeLists.txt
index a10bb2af7fba9dbfbdf156345b9126dca3cdc1a4..218a80cef37637f6d9a9eacd0de4dfa64110db1f 100644
--- a/tutorials/TaskToAlgo/CMakeLists.txt
+++ b/tutorials/TaskToAlgo/CMakeLists.txt
@@ -82,11 +82,7 @@ If(UNIX AND NOT APPLE)
   List(APPEND BOOST_LIBS pthread)
 EndIf()
 
-if(FairMQ_HAS_StateMachine)
-  Set(FAIR_LIBS FairMQStateMachine FairMQ)
-else()
-  Set(FAIR_LIBS FairMQ)
-EndIf()
+Set(FAIR_LIBS FairMQStateMachine FairMQ)
 
 If(FAIRLOGGER_FOUND)
   set(FAIR_LIBS