diff --git a/sim/transport/steer/CbmTransport.cxx b/sim/transport/steer/CbmTransport.cxx
index c79d77955a8bce1d620d92bba44ab471358b90a3..b16713eb3d8b16f50f8910fe9767a3a3d4494151 100644
--- a/sim/transport/steer/CbmTransport.cxx
+++ b/sim/transport/steer/CbmTransport.cxx
@@ -33,6 +33,7 @@
 #include "TGeant4.h"
 #include "TGeoManager.h"
 #include "TPythia6Decayer.h"
+#include "TRandom.h"
 #include "TROOT.h"
 #include "TStopwatch.h"
 #include "TString.h"
@@ -469,6 +470,9 @@ void CbmTransport::Run(Int_t nEvents) {
   // --- Timer
   TStopwatch timer;
 
+  // --- Set the global random seed
+  gRandom->SetSeed(fRandomSeed);
+
   // --- Check presence of required requisites
   if (fOutFileName.IsNull())
     LOG(fatal) << GetName() << ": No output file specified!";
diff --git a/sim/transport/steer/CbmTransport.h b/sim/transport/steer/CbmTransport.h
index 5e927912d953a5f7616f8230f04fa66ae8ff6618..8ed7564a356b24e531ecf8fc2616caadcd873b93 100644
--- a/sim/transport/steer/CbmTransport.h
+++ b/sim/transport/steer/CbmTransport.h
@@ -304,6 +304,16 @@ public:
                            Double_t phiMax = 2. * TMath::Pi());
 
 
+    /** @brief Set global random seed value
+     ** @param seedValue
+     **
+     ** This function allows to set the global seed value used
+     ** by ROOTs random number generator TRandom
+     **/
+  void SetRandomSeed(const ULong_t seedValue) {
+    fRandomSeed = seedValue;
+  }
+
   /** @brief Enable smearing of event vertex in x and y.
      ** @param choice  If kTRUE(default), smearing is enabled.
      **
@@ -381,6 +391,8 @@ private:
   CbmGeant3Settings* fGeant3Settings {nullptr};  //!
   CbmGeant4Settings* fGeant4Settings {nullptr};  //!
 
+  ULong_t fRandomSeed {0};
+
   /** @brief Event generator initialisation **/
   void InitEventGenerator();
 
@@ -403,7 +415,7 @@ private:
   /** @brief Create and register the setup modules **/
   void RegisterSetup();
 
-  ClassDef(CbmTransport, 3);
+  ClassDef(CbmTransport, 4);
 };
 
 #endif /* CBMTRANSPORT_H */