diff --git a/beat/web/experiments/static/experiments/js/panels.js b/beat/web/experiments/static/experiments/js/panels.js
index bcc99550e52948ce0c1068554416b991e53346eb..b2281934a5a14341d8367f9a0229c52845c1284f 100644
--- a/beat/web/experiments/static/experiments/js/panels.js
+++ b/beat/web/experiments/static/experiments/js/panels.js
@@ -1221,6 +1221,7 @@ beat.experiments.panels.Settings.prototype._resetDatasetPanel = function(btn) {
 beat.experiments.panels.Settings.prototype._updateRunButton = function()
 {
   if (($('#' + this.id + '_name')[0].value.trim().length > 0) &&
+      !$.isEmptyObject(this.environments) &&
       (this.configuration.nbBlocksConfigured() == this.toolchain.declaration.blocks.length) &&
       (this.configuration.nbDatasetsConfigured() == this.toolchain.declaration.datasets.length) &&
       (this.configuration.nbAnalyzersConfigured() == this.toolchain.declaration.analyzers.length))
@@ -1559,7 +1560,9 @@ beat.experiments.panels.Parameters.prototype.initialize = function(configuration
   }
 
   environment_selector.selectedIndex = selected_environment_index;
-  this._onEnvironmentSelected();
+  if (environments.length > 0) {
+    this._onEnvironmentSelected();
+  }
 
 
   var selected_algorithms = this.configuration.algorithms();
@@ -2524,7 +2527,9 @@ beat.experiments.panels.BlockParameters = function(first_row, configuration, blo
 
 
   // Environment & queues
-  this.createEnvironmentControls(first_row, block_name, !has_parameters);
+  if (environments) {
+    this.createEnvironmentControls(first_row, block_name, !has_parameters);
+  }
 
 
   // Parameters