diff --git a/sim/response/config/DigiConfig_event.yaml b/sim/response/config/DigiConfig_event.yaml
index 6829a650e5296e05edf87e4641bd4e4b7e52a76e..97d12619ae11e5a93cd877a7d077fbf7e803fa08 100644
--- a/sim/response/config/DigiConfig_event.yaml
+++ b/sim/response/config/DigiConfig_event.yaml
@@ -6,7 +6,8 @@ global:
   nTimeslices: -1
   firstTimeslice: -1
 detectors:
-  deactivate: ""
+  deactivate: 
+    - ""
   deactivateAllBut: ""
 timeslice:
   timeslicelength: 1.e5     
diff --git a/sim/response/config/DigiConfig_timeslice.yaml b/sim/response/config/DigiConfig_timeslice.yaml
index 7989ccf5a0157cd38768677855b9cd1b9b572322..e014050be8d0ebe781dcb9f1acaba5fd628d13fd 100644
--- a/sim/response/config/DigiConfig_timeslice.yaml
+++ b/sim/response/config/DigiConfig_timeslice.yaml
@@ -6,7 +6,8 @@ global:
   nTimeslices: -1
   firstTimeslice: -1
 detectors:
-  deactivate: ""
+  deactivate:
+    - ""
   deactivateAllBut: ""
 timeslice:
   timeslicelength: 1.e13
diff --git a/sim/response/steer/Config.cxx b/sim/response/steer/Config.cxx
index 6cd0076dceb48169515e970fb2295a5ac3fd1913..15df8cf535b6191e6eb10561602822f48e729dcd 100644
--- a/sim/response/steer/Config.cxx
+++ b/sim/response/steer/Config.cxx
@@ -39,7 +39,10 @@ namespace cbm::sim::digitization
 
     // --- Detector choice
     f_det_deactivateAllBut = ToECbmModuleId(settings["detectors"]["deactivateAllBut"].as<string>());
-    f_det_deactivate       = ToECbmModuleId(settings["detectors"]["deactivate"].as<string>());
+
+    YAML::Node deactivatedSystems = settings["detectors"]["deactivate"];
+    for (auto det : deactivatedSystems)
+      f_det_deactivate.push_back(ToECbmModuleId(det.as<string>()));
 
     // --- Timeslice settings
     f_ts_tslength   = settings["timeslice"]["timeslicelength"].as<float>();
@@ -218,7 +221,10 @@ namespace cbm::sim::digitization
 
     // --- Detector choice
     settings["detectors"]["deactivateAllBut"] = ToString(f_det_deactivateAllBut);
-    settings["detectors"]["deactivate"]       = ToString(f_det_deactivate);
+
+    for (int i = 0; i < (int) f_det_deactivate.size(); ++i) {
+      settings["detectors"]["deactivate"][i] = ToString(f_det_deactivate.at(i));
+    }
 
     // --- Timeslice settings
     settings["timeslice"]["timeslicelength"]    = f_ts_tslength;
diff --git a/sim/response/steer/Config.h b/sim/response/steer/Config.h
index 8d8c167b9fd10fb03fcd6306a2da7a60cefa05d9..c1916b0e89a472314bd093545af688a69b6628bf 100644
--- a/sim/response/steer/Config.h
+++ b/sim/response/steer/Config.h
@@ -94,8 +94,7 @@ namespace cbm::sim::digitization
 
     // --- Detector selection
     ECbmModuleId f_det_deactivateAllBut = ECbmModuleId::kNotExist;
-    ECbmModuleId f_det_deactivate =
-      ECbmModuleId::kNotExist;  // TODO: option should be able to deal with several detectors
+    std::vector<ECbmModuleId> f_det_deactivate;
 
     // --- Timeslice settings
     float f_ts_tslength  = 1.e5;
diff --git a/sim/response/steer/Run.cxx b/sim/response/steer/Run.cxx
index bdab3b756d9daeb6b4ed6ed8a06033062c2c07cf..1e76e6be65651bbdb4696cdb08fb4df7de3208f9 100644
--- a/sim/response/steer/Run.cxx
+++ b/sim/response/steer/Run.cxx
@@ -110,7 +110,10 @@ namespace cbm::sim::digitization
 
     if (fConfig.f_det_deactivateAllBut != ECbmModuleId::kNotExist)
       fRun.DeactivateAllBut(fConfig.f_det_deactivateAllBut);
-    if (fConfig.f_det_deactivate != ECbmModuleId::kNotExist) fRun.Deactivate(fConfig.f_det_deactivate);
+
+    for (auto det : fConfig.f_det_deactivate) {
+      if (det != ECbmModuleId::kNotExist) fRun.Deactivate(det);
+    }
 
     timer.Stop();
     double timeInit = timer.RealTime();