diff --git a/src/app/user/controllers/UserController.php b/src/app/user/controllers/UserController.php
index 6c96cd8dffeb0a67657abf5163cb4efc84f3326b..d9f87b925d8ab68557f37d78f3a009710670e2ed 100755
--- a/src/app/user/controllers/UserController.php
+++ b/src/app/user/controllers/UserController.php
@@ -541,6 +541,7 @@ class UserController
         $user['passwordRules']      = PasswordModel::getEnabledRules();
         $user['canModifyPassword']  = true;
         $user['privileges']         = PrivilegeController::getPrivilegesByUser(['userId' => $user['id']]);
+        $user['lockAdvancedPrivileges'] = PrivilegeController::isAdvancedPrivilegesLocked();
         $userFollowed = UserFollowedResourceModel::get(['select' => ['count(1) as nb'], 'where' => ['user_id = ?'], 'data' => [$GLOBALS['id']]]);
         $user['nbFollowedResources'] = $userFollowed[0]['nb'];
 
diff --git a/src/frontend/app/administration/home/administration.component.ts b/src/frontend/app/administration/home/administration.component.ts
index acfc30be766634449a9a8fedc8342cd736d7386e..9cfcdd9ea6eda29e6551aba37019c354b4564748 100644
--- a/src/frontend/app/administration/home/administration.component.ts
+++ b/src/frontend/app/administration/home/administration.component.ts
@@ -52,8 +52,6 @@ export class AdministrationComponent implements OnInit, AfterViewInit {
     ngOnInit(): void {
         this.headerService.setHeader(this.translate.instant('lang.administration'));
 
-        // this.loading = true;
-
         this.organisationServices = this.privilegeService.getCurrentUserAdministrationsByUnit('organisation');
         this.productionServices = this.privilegeService.getCurrentUserAdministrationsByUnit('production');
         this.classementServices = this.privilegeService.getCurrentUserAdministrationsByUnit('classement');
diff --git a/src/frontend/service/auth.service.ts b/src/frontend/service/auth.service.ts
index 6f4344e46f15683e9ee239c3bf68db98c91bcff1..8d7ac467eedcb8d06bb36cd95732c32e66bd9702 100644
--- a/src/frontend/service/auth.service.ts
+++ b/src/frontend/service/auth.service.ts
@@ -278,7 +278,7 @@ export class AuthService {
                             entities: data.entities,
                             groups: data.groups,
                             preferences: data.preferences,
-                            privileges: data.privileges[0] === 'ALL_PRIVILEGES' ? this.privilegeService.getAllPrivileges() : data.privileges
+                            privileges: data.privileges[0] === 'ALL_PRIVILEGES' ? this.privilegeService.getAllPrivileges(!data.lockAdvancedPrivileges) : data.privileges
                         };
                         this.headerService.nbResourcesFollowed = data.nbFollowedResources;
                         this.privilegeService.resfreshUserShortcuts();
diff --git a/src/frontend/service/privileges.service.ts b/src/frontend/service/privileges.service.ts
index ee3f3066405f8c65ff31edbe6a11654926dabc62..57aa8603bd2ae38808830d0844dced56ba5575a8 100755
--- a/src/frontend/service/privileges.service.ts
+++ b/src/frontend/service/privileges.service.ts
@@ -600,13 +600,15 @@ export class PrivilegeService {
 
     constructor(public translate: TranslateService, public headerService: HeaderService) { }
 
-    getAllPrivileges() {
+    getAllPrivileges(getLockedPrivilege: boolean) {
         let priv: any[] = [];
 
         priv = priv.concat(this.privileges.map(elem => elem.id));
         priv = priv.concat(this.administrations.map(elem => elem.id));
         priv = priv.concat(this.menus.map(elem => elem.id));
 
+        priv = priv.filter(elem => (getLockedPrivilege || (!getLockedPrivilege && ['create_custom', 'admin_update_control'].indexOf(elem) === -1)));
+
         return priv;
     }