diff --git a/macro/dimuon/CMakeLists.txt b/macro/dimuon/CMakeLists.txt
index 8a907ba74f66b3e5fae9a68dd7491cc813a27c50..ba689e2f15d4e0f49e29125b08fd29c6c9be683a 100644
--- a/macro/dimuon/CMakeLists.txt
+++ b/macro/dimuon/CMakeLists.txt
@@ -13,6 +13,7 @@ File(COPY ${CBMROOT_SOURCE_DIR}/parameters/much/TOF8gev_fitParam_sigma2.sis100_m
 
 # Define the number of events to run
 Set(NumEvents 1000)
+Set(randomSeed 1)
 
 # Define the different setups to be tested
 List(APPEND cbm_setup sis100_muon_lmvm)
@@ -36,7 +37,7 @@ ForEach(setup IN LISTS cbm_setup)
     # --- Transport run, using run_transport.C
     Set(testname dimuon_transport_${setup})
     Set(fixture_dimuon_digi fixture_dimuon_digi_${testname})
-    Add_Test(${testname} ${MACRO_DIR}/dimuon_transport.sh ${NumEvents} \"${setup}\" \"data/${setup}_test\" \"\" kTRUE)
+    Add_Test(${testname} ${MACRO_DIR}/dimuon_transport.sh ${NumEvents} \"${setup}\" \"data/${setup}_test\" \"\" kTRUE ${randomSeed})
     Set_Tests_Properties(${testname} PROPERTIES 
             TIMEOUT "600"
             PASS_REGULAR_EXPRESSION "Test Passed;All ok"
diff --git a/macro/dimuon/dimuon_transport.C b/macro/dimuon/dimuon_transport.C
index dcc342354c755463b2c44c64f0c19006a813f2f0..fed750281241e67d68ce35c6c85016545c99b307 100644
--- a/macro/dimuon/dimuon_transport.C
+++ b/macro/dimuon/dimuon_transport.C
@@ -40,7 +40,7 @@
 //---------------------------------------------------
 
 void dimuon_transport(Int_t nEvents = 1000, const char* setupName = "sis100_muon_lmvm", const char* output = "test",
-                      const char* inputFile = "", Bool_t overwrite = kFALSE)
+                      const char* inputFile = "", Bool_t overwrite = kFALSE, int randomSeed = 0)
 {
 
   // --- Logger settings ----------------------------------------------------
@@ -86,6 +86,7 @@ void dimuon_transport(Int_t nEvents = 1000, const char* setupName = "sis100_muon
   run.SetTarget("Gold", 0.025, 2.5);
   run.SetBeamPosition(0., 0., 0.1, 0.1);
   run.SetEngine(kGeant3);
+  run.SetRandomSeed(randomSeed);
   // ------------------------------------------------------------------------
 
   run.Run(nEvents);
diff --git a/macro/mcbm/CMakeLists.txt b/macro/mcbm/CMakeLists.txt
index 4400925cd672d91acab9d4d0dd43750af186ddeb..6e7ec126df2bf354fcbcd7beb6c896cffeef9c8e 100644
--- a/macro/mcbm/CMakeLists.txt
+++ b/macro/mcbm/CMakeLists.txt
@@ -22,6 +22,7 @@ File(COPY ${CBMROOT_SOURCE_DIR}/macro/include/.rootrc DESTINATION ${CBMROOT_BINA
 # Define the number of events to run
 Set(NumEvents 10)
 Set(BeamAngle 25)
+Set(randomSeed 1)
 
 # Define the different setups to be tested
 # Default should always be tested in all case
@@ -53,7 +54,7 @@ ForEach(setup IN LISTS cbm_setup)
 
   Set(testname mcbm_transport_${setup})
   Set(fixture_mcbm_transport fixture_${testname})
-  Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/mcbm/mcbm_transport.sh ${NumEvents} \"${setup}\" \"data/${setup}_test\" \"\" kTRUE)
+  Add_Test(${testname} ${CBMROOT_BINARY_DIR}/macro/mcbm/mcbm_transport.sh ${NumEvents} \"${setup}\" \"data/${setup}_test\" \"\" kTRUE ${randomSeed})
   Set_Tests_Properties(${testname} PROPERTIES
           TIMEOUT "600"
           PASS_REGULAR_EXPRESSION "Test Passed;All ok"
diff --git a/macro/mcbm/mcbm_transport.C b/macro/mcbm/mcbm_transport.C
index 3ca8404f43510af283f07713c1b7d099f0286999..3f502c314cf0069e327b4b16fd8103ef72cead11 100644
--- a/macro/mcbm/mcbm_transport.C
+++ b/macro/mcbm/mcbm_transport.C
@@ -43,7 +43,8 @@ void mcbm_transport(Int_t nEvents = 10,
                     //                  const char* setupName = "mcbm_beam_2019_11",
                     //                  const char* setupName = "mcbm_beam_2019_03",
                     //                  const char* setupName = "sis18_mcbm_25deg_long",
-                    const char* output = "data/test", const char* inputFile = "", Bool_t overwrite = kTRUE)
+                    const char* output = "data/test", const char* inputFile = "", 
+                    Bool_t overwrite = kTRUE, int randomSeed = 0)
 {
   // --- Define the beam angle ----------------------------------------------
   Double_t beamRotY = 25.;
@@ -208,6 +209,7 @@ void mcbm_transport(Int_t nEvents = 10,
   run.SetBeamAngle(beamRotY * TMath::DegToRad(), 0.);
   if (nEvents <= 10)  // store only for small number of events
     run.StoreTrajectories();
+  run.SetRandomSeed(randomSeed);
   run.Run(nEvents);
   // ------------------------------------------------------------------------
 
diff --git a/macro/much/CMakeLists.txt b/macro/much/CMakeLists.txt
index 17f10a509ac557fd9a16d96b4116c58f2f4bba4b..ac3045443d8254be97f3fda21012c2079c4869bd 100644
--- a/macro/much/CMakeLists.txt
+++ b/macro/much/CMakeLists.txt
@@ -10,6 +10,7 @@ GENERATE_CBM_TEST_SCRIPT(${CBMROOT_SOURCE_DIR}/macro/run/run_reco_event.C ${MACR
 File(COPY ${CBMROOT_SOURCE_DIR}/macro/include/.rootrc DESTINATION ${CBMROOT_BINARY_DIR}/macro/much)
 
 Set(NumEvents 3)
+Set(randomSeed 1)
 
 # =====   Cleanup the data directory   =======================================
 add_test(much_cleanup ${CMAKE_COMMAND}
@@ -19,10 +20,9 @@ set_tests_properties(much_cleanup PROPERTIES
         FIXTURES_SETUP much_cleanup
 )
 
-
 # --- Transport of UrQMD events
 Set(testname much_transport)
-add_test(${testname} ${MACRO_DIR}/run_transport.sh ${NumEvents} \"sis100_muon_lmvm\" \"data/muons\")
+add_test(${testname} ${MACRO_DIR}/run_transport.sh ${NumEvents} \"sis100_muon_lmvm\" \"data/muons\" \"\" \"\" kFALSE ${randomSeed})
 SET_TESTS_PROPERTIES(${testname} PROPERTIES
           TIMEOUT "1200"
           PASS_REGULAR_EXPRESSION "TestPassed;All ok"
diff --git a/macro/much/run_transport.C b/macro/much/run_transport.C
index 4fdbbf93d7f1fda99574eea2c82496e21c1299eb..750892210a9503724350160cf20b8d0e1c10a4ab 100644
--- a/macro/much/run_transport.C
+++ b/macro/much/run_transport.C
@@ -40,7 +40,8 @@
 //---------------------------------------------------
 
 void run_transport(Int_t nEvents = 3, const char* setupName = "sis100_muon_lmvm", const char* output = "muons",
-                   const char* inputFile = "", const char* plutoFile = "", Bool_t overwrite = kFALSE)
+                   const char* inputFile = "", const char* plutoFile = "", Bool_t overwrite = kFALSE,
+                   int randomSeed = 0)
 {
 
   // --- Logger settings ----------------------------------------------------
@@ -119,6 +120,7 @@ void run_transport(Int_t nEvents = 3, const char* setupName = "sis100_muon_lmvm"
   run.SetTarget("Gold", 0.025, 2.5);
   run.SetBeamPosition(0., 0., 0.1, 0.1);
   run.SetEngine(kGeant3);
+  run.SetRandomSeed(randomSeed);
   //  run.GetStackFilter()->SetMinNofPoints(kSts,0);
   //  run.GetStackFilter()->SetMinNofPoints(kMuch,0);
   //  run.GetStackFilter()->SetMinNofPoints(kTrd,0);