diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js
index 68766ff3829299e58f9ad2c982c3765cf15e1019..e7e6662fe691bcafb3d9185ecf2c88b04af1147f 100644
--- a/frontend-js/src/main/js/ServerConnector.js
+++ b/frontend-js/src/main/js/ServerConnector.js
@@ -1097,6 +1097,8 @@ ServerConnector.getUsers = function (forceRefresh) {
         self._users.push(self._usersByLogin[user.getLogin()]);
       }
       return self._users;
+    }).then(null, function (error) {
+      return self.processNetworkError(error);
     });
   }
 
diff --git a/frontend-js/src/main/js/gui/Panel.js b/frontend-js/src/main/js/gui/Panel.js
index 814989486559ea3a64430e82e2f2bac2a08de77c..ed0594d070b85d9cd8be94026d43f29a876800c5 100644
--- a/frontend-js/src/main/js/gui/Panel.js
+++ b/frontend-js/src/main/js/gui/Panel.js
@@ -83,11 +83,8 @@ Panel.prototype.createHelpButton = function () {
 Panel.prototype.disablePanel = function (message) {
   var self = this;
 
-  var searchQueryElement = self.getControlElement(PanelControlElementType.SEARCH_DIV);
-  var searchResultsElement = self.getControlElement(PanelControlElementType.SEARCH_RESULTS_DIV);
-
-  searchQueryElement.style.visibility = "hidden";
-  searchResultsElement.style.visibility = "hidden";
+  $(self.getElement()).children().css("visibility", "hidden");
+  $("[class='minerva-help-button']",self.getElement()).children().css("visibility", "visible");
   var hideReasonDiv = document.createElement("div");
   hideReasonDiv.className = "searchPanel";
 
@@ -97,7 +94,7 @@ Panel.prototype.disablePanel = function (message) {
   center.appendChild(messageDiv);
   hideReasonDiv.appendChild(center);
 
-  self.getElement().insertBefore(hideReasonDiv, searchQueryElement);
+  $(self.getElement()).prepend(hideReasonDiv);
 };
 
 Panel.prototype.isDisabled = function () {
diff --git a/frontend-js/src/main/js/gui/admin/EditUserDialog.js b/frontend-js/src/main/js/gui/admin/EditUserDialog.js
index e4a51806b4541e2c63661dd69cf055b9023c37fc..f45581a4640c5e85e9ab88812e5c44fb5ca88b1e 100644
--- a/frontend-js/src/main/js/gui/admin/EditUserDialog.js
+++ b/frontend-js/src/main/js/gui/admin/EditUserDialog.js
@@ -127,7 +127,6 @@ EditUserDialog.prototype.addTab = function (params) {
   });
 
   contentDiv.style.overflow = "auto";
-  
   if (params.content !== undefined) {
     contentDiv.appendChild(params.content);
   }
diff --git a/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js b/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js
index 5f018fb7fe2885afc05b318f7f97d31b7b07cb4e..83f2ff058d6751c21f608acf42e30284dc5ade8e 100644
--- a/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js
+++ b/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js
@@ -4,6 +4,8 @@ var Promise = require('bluebird');
 
 var AbstractAdminPanel = require('./AbstractAdminPanel');
 var EditUserDialog = require('./EditUserDialog');
+var SecurityError = require('../../SecurityError');
+
 var User = require("../../map/data/User");
 
 var Functions = require('../../Functions');
@@ -165,6 +167,12 @@ UsersAdminPanel.prototype.init = function () {
   var self = this;
   return ServerConnector.getUsers().then(function (users) {
     return self.setUsers(users);
+  }).catch(function (error) {
+    if (error instanceof SecurityError) {
+      self.disablePanel("You have no privilege to manage users");
+    } else {
+      throw error;
+    }
   });
 };
 
diff --git a/frontend-js/src/test/js/ServerConnector-test.js b/frontend-js/src/test/js/ServerConnector-test.js
index 22fc81ae7c319256c2f882850c25fa558320465d..3a476c3233001d645f573ca1e7fb858777d6f666 100644
--- a/frontend-js/src/test/js/ServerConnector-test.js
+++ b/frontend-js/src/test/js/ServerConnector-test.js
@@ -15,6 +15,7 @@ var NetworkError = require('../../main/js/NetworkError');
 var Project = require('../../main/js/map/data/Project');
 var Reaction = require('../../main/js/map/data/Reaction');
 var ServerConnector = require('../../main/js/ServerConnector');
+var SecurityError = require('../../main/js/SecurityError');
 
 var logger = require('./logger');
 var chai = require('chai');
@@ -355,6 +356,22 @@ describe('ServerConnector', function () {
         assert.ok(user.getName() !== modifiedName);
       });
     });
+    it('access denied', function () {
+      var originalFun = ServerConnector._sendRequest;
+      ServerConnector._sendRequest = function () {
+        return Promise.reject(new NetworkError("", {
+          statusCode: HttpStatus.FORBIDDEN
+        }))
+      };
+      return ServerConnector.getUsers().then(function () {
+          assert.notOk("Security error expected");
+        }, function (error) {
+          assert.ok(error instanceof SecurityError);
+        }
+      ).finally(function () {
+        ServerConnector._sendRequest = originalFun;
+      });
+    });
   });
 
   describe('uploadFile', function () {
diff --git a/frontend-js/src/test/js/gui/admin/UserAdminPanel-test.js b/frontend-js/src/test/js/gui/admin/UserAdminPanel-test.js
index 92410c1671356f7985c17170f31c7ada5eee791c..28f5ad6e20cae8d9b18bc0eda8fa2c9ed1bdbae6 100644
--- a/frontend-js/src/test/js/gui/admin/UserAdminPanel-test.js
+++ b/frontend-js/src/test/js/gui/admin/UserAdminPanel-test.js
@@ -3,6 +3,7 @@
 require("../../mocha-config");
 
 var UsersAdminPanel = require('../../../../main/js/gui/admin/UsersAdminPanel');
+var SecurityError = require('../../../../main/js/SecurityError');
 var ServerConnector = require('../../ServerConnector-mock');
 var logger = require('../../logger');
 
@@ -10,22 +11,49 @@ var assert = require('assert');
 
 describe('UsersAdminPanel', function () {
 
-  it('init', function () {
-    var usersTab;
-    var project;
-    return ServerConnector.getProject().then(function (result) {
-      project = result;
-      return ServerConnector.getConfiguration();
-    }).then(function (configuration) {
-      usersTab = new UsersAdminPanel({
-        element: testDiv,
-        project: project,
-        configuration: configuration
+  describe('init', function () {
+    it('default', function () {
+      var usersTab;
+      var project;
+      return ServerConnector.getProject().then(function (result) {
+        project = result;
+        return ServerConnector.getConfiguration();
+      }).then(function (configuration) {
+        usersTab = new UsersAdminPanel({
+          element: testDiv,
+          project: project,
+          configuration: configuration
+        });
+        return usersTab.init();
+      }).then(function () {
+        assert.equal(0, logger.getWarnings().length);
+        return usersTab.destroy();
+      });
+    });
+    it('user without access', function () {
+      var usersTab;
+      var project;
+      var oldFun = ServerConnector.getUsers;
+      ServerConnector.getUsers = function () {
+        return Promise.reject(new SecurityError("Access denied."));
+      };
+      return ServerConnector.getProject().then(function (result) {
+        project = result;
+        return ServerConnector.getConfiguration();
+      }).then(function (configuration) {
+        usersTab = new UsersAdminPanel({
+          element: testDiv,
+          project: project,
+          configuration: configuration
+        });
+        return usersTab.init();
+      }).then(function () {
+        assert.equal(0, logger.getWarnings().length);
+        assert.ok(usersTab.getElement().innerHTML.indexOf("no privilege") >= 0);
+        return usersTab.destroy();
+      }).finally(function () {
+        ServerConnector.getUsers = oldFun;
       });
-      return usersTab.init();
-    }).then(function () {
-      assert.equal(0, logger.getWarnings().length);
-      return usersTab.destroy();
     });
   });