diff --git a/src/pages/Account/Card/AccountDescriptorMenu.vue b/src/pages/Account/Card/AccountDescriptorMenu.vue
index 9bb6a7c520e..c1df2115652 100644
--- a/src/pages/Account/Card/AccountDescriptorMenu.vue
+++ b/src/pages/Account/Card/AccountDescriptorMenu.vue
@@ -1,6 +1,6 @@
 <script setup>
 import axios from 'axios';
-import { computed, ref, toRefs } from 'vue';
+import { computed, onMounted, ref, toRefs } from 'vue';
 import { useI18n } from 'vue-i18n';
 import { useVnConfirm } from 'composables/useVnConfirm';
 import { useRoute } from 'vue-router';
@@ -30,6 +30,8 @@ const { notify } = useQuasar();
 const account = computed(() => useArrayData('AccountId').store.data[0]);
 account.value.hasAccount = hasAccount.value;
 const entityId = computed(() => +route.params.id);
+const hasitManagementAccess = ref();
+const hasSysadminAccess = ref();
 async function updateStatusAccount(active) {
     if (active) {
         await axios.post(`Accounts`, { id: entityId.value });
@@ -85,6 +87,15 @@ const onChangePass = (oldPass) => {
     askOldPass.value = oldPass;
     changePassRef.value.show();
 };
+
+onMounted(() => {
+    hasitManagementAccess.value = useAcl().hasAny([
+        { model: 'VnUser', props: 'higherPrivileges', accessType: 'WRITE' },
+    ]);
+    hasSysadminAccess.value = useAcl().hasAny([
+        { model: 'VnUser', props: 'adminUser', accessType: 'WRITE' },
+    ]);
+});
 </script>
 <template>
     <VnChangePassword
@@ -131,11 +142,7 @@ const onChangePass = (oldPass) => {
         </template>
     </VnConfirm>
     <QItem
-        v-if="
-            useAcl().hasAny([
-                { model: 'VnUser', props: 'higherPrivileges', accessType: 'WRITE' },
-            ])
-        "
+        v-if="hasitManagementAccess"
         v-ripple
         clickable
         @click="
@@ -149,9 +156,7 @@ const onChangePass = (oldPass) => {
         <QItemSection>{{ t('globals.delete') }}</QItemSection>
     </QItem>
     <QItem
-        v-if="
-            useAcl().hasAny([{ model: 'AccountConfig', props: '*', accessType: 'WRITE' }])
-        "
+        v-if="hasSysadminAccess"
         v-ripple
         clickable
         @click="user.id === account.id ? onChangePass(true) : onChangePass(false)"
@@ -162,10 +167,7 @@ const onChangePass = (oldPass) => {
         <QItemSection v-else>{{ t('globals.setPass') }}</QItemSection>
     </QItem>
     <QItem
-        v-if="
-            !account.hasAccount &&
-            useAcl().hasAny([{ model: 'AccountConfig', props: '*', accessType: 'WRITE' }])
-        "
+        v-if="!account.hasAccount && hasSysadminAccess"
         v-ripple
         clickable
         @click="
@@ -179,10 +181,7 @@ const onChangePass = (oldPass) => {
         <QItemSection>{{ t('account.card.actions.enableAccount.name') }}</QItemSection>
     </QItem>
     <QItem
-        v-if="
-            account.hasAccount &&
-            useAcl().hasAny([{ model: 'AccountConfig', props: '*', accessType: 'WRITE' }])
-        "
+        v-if="account.hasAccount && hasSysadminAccess"
         v-ripple
         clickable
         @click="
@@ -197,12 +196,7 @@ const onChangePass = (oldPass) => {
     </QItem>
 
     <QItem
-        v-if="
-            !account.active &&
-            useAcl().hasAny([
-                { model: 'VnUser', props: 'higherPrivileges', accessType: 'WRITE' },
-            ])
-        "
+        v-if="!account.active && hasitManagementAccess"
         v-ripple
         clickable
         @click="
@@ -216,12 +210,7 @@ const onChangePass = (oldPass) => {
         <QItemSection>{{ t('account.card.actions.activateUser.name') }}</QItemSection>
     </QItem>
     <QItem
-        v-if="
-            account.active &&
-            useAcl().hasAny([
-                { model: 'VnUser', props: 'higherPrivileges', accessType: 'WRITE' },
-            ])
-        "
+        v-if="account.active && hasitManagementAccess"
         v-ripple
         clickable
         @click="