diff --git a/FullSimLight/src/FSLActionInitialization.cc b/FullSimLight/src/FSLActionInitialization.cc
index 443eeca8ed1f7642727074b295f0fa6201334833..a7a8c9943af116e9dd3971325b54bbb7f4e587a7 100644
--- a/FullSimLight/src/FSLActionInitialization.cc
+++ b/FullSimLight/src/FSLActionInitialization.cc
@@ -42,20 +42,29 @@ FSLActionInitialization::~FSLActionInitialization() {}
 // called in case of MT
 void FSLActionInitialization::BuildForMaster() const {
     
-    if(fCustomUserActions){}/*set run action from config file*/
+    //set run action from config file
+    if(fCustomUserActions){
+        for (const std::string & element: userActions) {
+            GeoPluginLoader<FSLUserActionPlugin> loader;
+            const FSLUserActionPlugin * plugin = loader.load(element);
+            if (plugin->getRunAction()) SetUserAction(plugin->getRunAction());
+        }
+        
+    }
     else
-    {FSLRunAction* masterRunAct = new FSLRunAction();
-    masterRunAct->SetPerformanceFlag(fIsPerformance);
-    masterRunAct->SetSpecialScoringRegionName(fSpecialScoringRegionName);
-    
+    {
+        FSLRunAction* masterRunAct = new FSLRunAction();
+        masterRunAct->SetPerformanceFlag(fIsPerformance);
+        masterRunAct->SetSpecialScoringRegionName(fSpecialScoringRegionName);
+        
 #if USE_PYTHIA
-    if (use_pythia()) {
-      G4String str(get_pythia_config());
-      masterRunAct->SetPythiaConfig(str);
-    }
+        if (use_pythia()) {
+            G4String str(get_pythia_config());
+            masterRunAct->SetPythiaConfig(str);
+        }
 #endif
-    SetUserAction(masterRunAct);
-}
+        SetUserAction(masterRunAct);
+    }
 }