diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js
index 03c38e3237cc317f45ecb60910231d2f232803de..bbe3b449f418e5566d969295e438d166d17f87a6 100644
--- a/frontend-js/src/main/js/ServerConnector.js
+++ b/frontend-js/src/main/js/ServerConnector.js
@@ -36,6 +36,7 @@ var SbmlParameter = require('./map/data/SbmlParameter');
 var SecurityError = require('./SecurityError');
 var SessionData = require('./SessionData');
 var User = require('./map/data/User');
+var PrivilegeType = require('./map/data/PrivilegeType');
 
 var GuiConnector = require('./GuiConnector');
 
@@ -1232,9 +1233,17 @@ ServerConnector.updateUser = function (user) {
       connectedToLdap: user.isConnectedToLdap()
     }
   };
-  return self.sendPatchRequest(self.getUserUrl(queryParams), filterParams).then(function () {
+  var canModifyPrivileges = false;
+  return self.sendPatchRequest(self.getUserUrl(queryParams), filterParams).then(function (response) {
+    canModifyPrivileges = JSON.parse(response).privileges.some(function (privilege) {
+      return privilege.type === PrivilegeType.USER_MANAGEMENT
+        || privilege.type === PrivilegeType.PROJECT_MANAGEMENT;
+    });
     return self.getConfiguration();
   }).then(function (configuration) {
+    if (!canModifyPrivileges) {
+      return Promise.resolve(user);
+    }
     return self.updateUserPrivileges({user: user, privileges: user.privilegesToExport(configuration)});
   });
 };