diff --git a/frontend-js/src/main/js/gui/admin/EditProjectDialog.js b/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
index 1f47623c5f05400b4a91b937e2d4a841b4fe23eb..b65a1d542b9a1646f678488c5a9d5f7930a03f54 100644
--- a/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
+++ b/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
@@ -8,6 +8,7 @@ var AddOverlayDialog = require('../AddOverlayDialog');
 var Annotation = require('../../map/data/Annotation');
 var CommentsTab = require('./CommentsAdminPanel');
 var GuiConnector = require('../../GuiConnector');
+var PrivilegeType = require('../../map/data/PrivilegeType');
 
 var Functions = require('../../Functions');
 // noinspection JSUnusedLocalSymbols
@@ -119,6 +120,17 @@ EditProjectDialog.prototype.addTab = function (params) {
   }
 
   params.tabContentDiv.appendChild(contentDiv);
+  if (params.disabled) {
+    this.disableTab(params);
+  }
+};
+
+EditProjectDialog.prototype.disableTab = function (params) {
+  $("a[href='#" + params.id + "']", this.getElement()).hide();
+};
+
+EditProjectDialog.prototype.enableTab = function (params) {
+  $("a[href='#" + params.id + "']", this.getElement()).show();
 };
 
 EditProjectDialog.prototype.createGeneralTabContent = function () {
@@ -554,10 +566,19 @@ EditProjectDialog.prototype.initUsersTab = function () {
 
 EditProjectDialog.prototype.refreshOverlays = function () {
   var self = this;
-  return ServerConnector.getOverlays({
-    projectId: self.getProject().getProjectId()
-  }).then(function (overlays) {
-    return self.setOverlays(overlays);
+  return ServerConnector.getLoggedUser().then(function (user) {
+    var privilege = self.getConfiguration().getPrivilegeType(PrivilegeType.USER_MANAGEMENT);
+    //we need to refresh users as well because of privileges
+    if (user.hasPrivilege(privilege)) {
+      return ServerConnector.getOverlays({
+        projectId: self.getProject().getProjectId()
+      }).then(function (overlays) {
+        return self.setOverlays(overlays);
+      });
+    } else {
+      self.disableTab({id: self.getProject().getProjectId() + "_overlays_tab"});
+      return Promise.resolve();
+    }
   });
 };
 
@@ -570,8 +591,17 @@ EditProjectDialog.prototype.refreshMaps = function () {
 
 EditProjectDialog.prototype.refreshUsers = function () {
   var self = this;
-  return ServerConnector.getUsers().then(function (users) {
-    return self.setUsers(users);
+  return ServerConnector.getLoggedUser().then(function (user) {
+    var privilege = self.getConfiguration().getPrivilegeType(PrivilegeType.USER_MANAGEMENT);
+    //we need to refresh users as well because of privileges
+    if (user.hasPrivilege(privilege)) {
+      return ServerConnector.getUsers(true).then(function (users) {
+        return self.setUsers(users);
+      });
+    } else {
+      self.disableTab({id: self.getProject().getProjectId() + "_users_tab"});
+      return Promise.resolve();
+    }
   });
 };
 
diff --git a/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js b/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js
index a4a16ac1e537bd0bb2884790d631e14bab15921a..81b5d6bae542c8081088977c4a7dab79563375b3 100644
--- a/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js
+++ b/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js
@@ -6,6 +6,7 @@ var AbstractAdminPanel = require('./AbstractAdminPanel');
 var AddProjectDialog = require('./AddProjectDialog');
 var EditProjectDialog = require('./EditProjectDialog');
 var LogListDialog = require('./LogListDialog');
+var PrivilegeType = require('../../map/data/PrivilegeType');
 
 // noinspection JSUnusedLocalSymbols
 var logger = require('../../logger');
@@ -286,8 +287,15 @@ MapsAdminPanel.prototype.onRefreshClicked = function () {
   return ServerConnector.getProjects(true).then(function (projects) {
     return self.setProjects(projects);
   }).then(function () {
+    return ServerConnector.getLoggedUser();
+  }).then(function (user) {
+    var privilege = self.getConfiguration().getPrivilegeType(PrivilegeType.USER_MANAGEMENT);
     //we need to refresh users as well because of privileges
-    return ServerConnector.getUsers(true);
+    if (user.hasPrivilege(privilege)) {
+      return ServerConnector.getUsers(true);
+    } else {
+      return Promise.resolve();
+    }
   });
 };