diff --git a/frontend-js/src/main/css/global.css b/frontend-js/src/main/css/global.css
index feb97f677ad06085841b063837eb00ff200a1af4..7acaa90659208e0ec2f0b06b02d3b6a6cbd24277 100644
--- a/frontend-js/src/main/css/global.css
+++ b/frontend-js/src/main/css/global.css
@@ -522,7 +522,7 @@ h1 {
     font-weight: 400;
 }
 
-.minerva-projects-tab, .minerva-users-tab, .minerva-configuration-tab, .minerva-genome-tab {
+.minerva-projects-tab, .minerva-users-tab, .minerva-configuration-tab .tab-pane, .minerva-genome-tab {
     margin-left: 10px;
     margin-top: 10px;
 }
diff --git a/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js b/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js
index 6d0c3434a8d7e1c635ab9f5a3db8b5d3b42f1a76..fd6ec596139ffd2731593119f94b69f6696bf5ee 100644
--- a/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js
+++ b/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js
@@ -50,6 +50,7 @@ AbstractAdminPanel.prototype._createHeader = function (name) {
  * @returns {Promise}
  */
 AbstractAdminPanel.prototype.init = function () {
+  this._initialized = true;
   return Promise.all(this._initPromises);
 };
 
@@ -77,12 +78,18 @@ AbstractAdminPanel.prototype.bindUserGuiPreference = function (params) {
       }
     }).catch(GuiConnector.alert);
   });
-  this._initPromises.push(ServerConnector.getLoggedUser().then(function (user) {
+  var promise = ServerConnector.getLoggedUser().then(function (user) {
     var value = user.getPreferences().getGuiPreference(params.preferenceName, params.defaultValue);
     return params.setter(value);
-  }));
+  });
 
   this._eventBinds.push(params);
+  if (!this._initialized) {
+    this._initPromises.push(promise);
+  } else {
+    return promise;
+  }
+
 };
 
 /**
diff --git a/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js b/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js
index 425efcb4bcd6beeb0b46834bb4cd841ae71634b2..1d0a6c1c4d0de55bbdad3484e1f49a529d5c4e40 100644
--- a/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js
+++ b/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js
@@ -112,18 +112,6 @@ ConfigurationAdminPanel.prototype.createOptionsTable = function (options, type)
     }],
     order: [[1, "asc"]]
   });
-  self.bindUserGuiPreference({
-    jQueryObject: $(configurationTable),
-    event: 'length.dt',
-    preferenceName: 'admin-configuration-datatable-length',
-    defaultValue: '10',
-    getter: function () {
-      return $(configurationTable).DataTable().page.len() + '';
-    },
-    setter: function (value) {
-      return $(configurationTable).DataTable().page.len(value).draw();
-    }
-  });
 
   var data = [];
 
@@ -138,6 +126,19 @@ ConfigurationAdminPanel.prototype.createOptionsTable = function (options, type)
   dataTable.clear().rows.add(data).draw();
 
   self.getGuiUtils().addTab(self, {name: type, content: configurationDiv});
+
+  return self.bindUserGuiPreference({
+    jQueryObject: $(configurationTable),
+    event: 'length.dt',
+    preferenceName: 'admin-configuration-datatable-length',
+    defaultValue: '10',
+    getter: function () {
+      return $(configurationTable).DataTable().page.len() + '';
+    },
+    setter: function (value) {
+      return $(configurationTable).DataTable().page.len(value).draw();
+    }
+  });
 };
 
 /**
@@ -146,35 +147,40 @@ ConfigurationAdminPanel.prototype.createOptionsTable = function (options, type)
  */
 ConfigurationAdminPanel.prototype.init = function () {
   var self = this;
-  return self.getServerConnector().getLoggedUser().then(function (user) {
+  return AbstractAdminPanel.prototype.init.call(this).then(function () {
+    return self.getServerConnector().getLoggedUser();
+  }).then(function (user) {
     var configuration = self.getConfiguration();
     var privilege = configuration.getPrivilegeType(PrivilegeType.CONFIGURATION_MANAGE);
     if (user.hasPrivilege(privilege)) {
-      self.setOptions(configuration.getOptions());
+      return self.setOptions(configuration.getOptions());
     } else {
       self.disablePanel("You have no privilege to manage configuration");
     }
-  }).then(function(){
   });
 };
 
 /**
  *
  * @param {ConfigurationOption[]} options
+ *
+ * @returns {Promise}
  */
 ConfigurationAdminPanel.prototype.setOptions = function (options) {
   var self = this;
 
   var categories = {"": true};
+  var promises = [];
   for (var i = 0; i < options.length; i++) {
     var option = options[i];
 
     var group = option.getGroup();
     if (categories[group] === undefined && group !== undefined) {
       categories[group] = true;
-      self.createOptionsTable(options, group);
+      promises.push(self.createOptionsTable(options, group));
     }
   }
+  return Promise.all(promises);
 };
 
 /**