diff --git a/run_workflow_phaeoexplorer.py b/run_workflow_phaeoexplorer.py
index 2c863e1be5f7af3c744d80de41be42a3d6297d5d..c03b91762cc79d8a55c520a0968e285e9056f54b 100755
--- a/run_workflow_phaeoexplorer.py
+++ b/run_workflow_phaeoexplorer.py
@@ -49,14 +49,33 @@ class StrainWorkflowParam:
         self.email = email
         self.password = password
 
-    def check_param_for_workflow_load_fasta_gff_jbrowse(self, param):
-        # Look for empty parameters values, throw a critical error if a parameter value is invalid
-        if param is None or param == "":
+    def check_param(self, params):
+        if not utilities.no_empty_items(params):
             logging.critical(
-                "Empty parameter value found for organism {0} (parameter: {1}, parameter value: {2})".format(
-                    org_full_name, param_name, param_value))
+                "One empty workflow parameter found for organism {0}: {1})".format(org_full_name, params))
             sys.exit()
 
+    def check_param_for_workflow_load_fasta_gff_jbrowse(self, params):
+        params = [self.genus_species, self.strain_sex, self.genus, self.species, self.sex, self.strain, self.full_name,
+                  self.species_folder_name, self.org_id,
+                  self.genome_analysis_id, self.ogs_analysis_id, self.hda_ids, self.history_id,
+                  self.instance, self.instance_url, self.email, self.password]
+        self.check_param(params)
+
+    def check_param_for_workflow_blast(self, params):
+        params = [self.genus_species, self.strain_sex, self.genus, self.species, self.sex, self.strain, self.full_name,
+                  self.species_folder_name, self.org_id,
+                  self.blastp_analysis_id, self.hda_ids, self.history_id,
+                  self.instance, self.instance_url, self.email, self.password]
+        self.check_param(params)
+
+    def check_param_for_workflow_interpro(self, params):
+        params = [self.genus_species, self.strain_sex, self.genus, self.species, self.sex, self.strain, self.full_name,
+                  self.species_folder_name, self.org_id,
+                  self.interpro_analysis_id, self.hda_ids, self.history_id,
+                  self.instance, self.instance_url, self.email, self.password]
+        self.check_param(params)
+
 
 class RunWorkflow(speciesData.SpeciesData):
     """
@@ -796,6 +815,7 @@ def get_sp_workflow_param(sp_dict, main_dir, config, workflow_type):
                 email=config[constants.CONF_GALAXY_DEFAULT_ADMIN_EMAIL],
                 password=config[constants.CONF_GALAXY_DEFAULT_ADMIN_PASSWORD]
             )
+            sp_wf_param.check_param_for_workflow_load_fasta_gff_jbrowse()
 
         if workflow_type == "blast":
 
@@ -824,7 +844,7 @@ def get_sp_workflow_param(sp_dict, main_dir, config, workflow_type):
                 email=config[constants.CONF_GALAXY_DEFAULT_ADMIN_EMAIL],
                 password=config[constants.CONF_GALAXY_DEFAULT_ADMIN_PASSWORD]
             )
-
+            sp_wf_param.check_param_for_workflow_blast()
 
         if workflow_type == "interpro":
 
@@ -853,7 +873,7 @@ def get_sp_workflow_param(sp_dict, main_dir, config, workflow_type):
                 email=config[constants.CONF_GALAXY_DEFAULT_ADMIN_EMAIL],
                 password=config[constants.CONF_GALAXY_DEFAULT_ADMIN_PASSWORD]
             )
-
+            sp_wf_param.check_param_for_workflow_interpro()
 
         return sp_wf_param
 
@@ -1019,34 +1039,10 @@ if __name__ == "__main__":
                 org_org_id = sp_workflow_param.org_id
                 org_genome_analysis_id = sp_workflow_param.genome_analysis_id
                 org_ogs_analysis_id = sp_workflow_param.ogs_analysis_id
-                org_genome_hda_id = org_dict["hda_ids"]["genome_hda_id"]
-                org_transcripts_hda_id = org_dict["hda_ids"]["transcripts_hda_id"]
-                org_proteins_hda_id = org_dict["hda_ids"]["proteins_hda_id"]
-                org_gff_hda_id = org_dict["hda_ids"]["gff_hda_id"]
-
-                # Store these values into a dict for parameters logging/validation
-                org_parameters_dict = {
-                    "org_genus": org_genus,
-                    "org_species": org_species,
-                    "org_genus_species": org_genus_species,
-                    "org_species_folder_name": org_species_folder_name,
-                    "org_full_name": org_full_name,
-                    "org_strain": org_strain,
-                    "org_sex": org_sex,
-                    "org_org_id": org_org_id,
-                    "org_genome_analysis_id": org_genome_analysis_id,
-                    "org_ogs_analysis_id": org_ogs_analysis_id,
-                    "org_genome_hda_id": org_genome_hda_id,
-                    "org_transcripts_hda_id": org_transcripts_hda_id,
-                    "org_proteins_hda_id": org_proteins_hda_id,
-                    "org_gff_hda_id": org_gff_hda_id,
-                }
-
-                # Look for empty parameters values, throw a critical error if a parameter value is invalid
-                for param_name, param_value in org_parameters_dict.items():
-                    if param_value is None or param_value == "":
-                        logging.critical("Empty parameter value found for organism {0} (parameter: {1}, parameter value: {2})".format(org_full_name, param_name, param_value))
-                        sys.exit()
+                org_genome_hda_id = sp_workflow_param.hda_ids["genome_hda_id"]
+                org_transcripts_hda_id = sp_workflow_param.hda_ids["transcripts_hda_id"]
+                org_proteins_hda_id = sp_workflow_param.hda_ids["proteins_hda_id"]
+                org_gff_hda_id = sp_workflow_param.hda_ids["gff_hda_id"]
 
                 # Set the workflow parameters (individual tools runtime parameters in the workflow)
                 workflow_parameters = {}
diff --git a/utilities.py b/utilities.py
index 68f59cfe70f7d0850e74c16b0ca32772d6dad751..d1bb0890457f91be90fa0e81703c891fc62105cf 100755
--- a/utilities.py
+++ b/utilities.py
@@ -76,6 +76,13 @@ def filter_empty_not_empty_items(li):
             filtered_dict["not_empty"].append(i)
     return filtered_dict
 
+def no_empty_items(li):
+
+    empty = True
+    for i in li:
+        if i is None or i == "":
+            empty = False
+    return empty
 
 def check_galaxy_state(network_name, script_dir):
     """