diff --git a/apps/perms/utils/account.py b/apps/perms/utils/account.py
index 62c7b68d0..caef9dc30 100644
--- a/apps/perms/utils/account.py
+++ b/apps/perms/utils/account.py
@@ -41,7 +41,10 @@ class PermAccountUtil(AssetPermissionUtil):
                 alias_date_expired_mapper[alias].append(perm.date_expired)
 
         asset_accounts = asset.accounts.all().active()
-        username_account_mapper = {account.username: account for account in asset_accounts}
+        # username_accounts_mapper = {account.username: account for account in asset_accounts}
+        username_accounts_mapper = defaultdict(list)
+        for account in asset_accounts:
+            username_accounts_mapper[account.username].append(account)
 
         cleaned_accounts_action_bit = defaultdict(int)
         cleaned_accounts_expired = defaultdict(list)
@@ -56,9 +59,10 @@ class PermAccountUtil(AssetPermissionUtil):
                 )
 
         for alias, action_bit in alias_action_bit_mapper.items():
+            account = None
             if alias == AliasAccount.USER:
-                if user.username in username_account_mapper:
-                    account = username_account_mapper[user.username]
+                if user.username in username_accounts_mapper:
+                    account = username_accounts_mapper[user.username]
                 else:
                     account = Account.get_user_account()
             elif alias == AliasAccount.INPUT:
@@ -67,12 +71,14 @@ class PermAccountUtil(AssetPermissionUtil):
                 account = Account.get_anonymous_account()
             elif alias.startswith('@'):
                 continue
-            elif alias in username_account_mapper:
-                account = username_account_mapper[alias]
-            else:
-                account = None
 
+            accounts = []
             if account:
+                accounts.append(account)
+            if alias in username_accounts_mapper:
+                accounts += username_accounts_mapper[alias]
+
+            for account in accounts:
                 cleaned_accounts_action_bit[account] |= action_bit
                 cleaned_accounts_expired[account].extend(alias_date_expired_mapper[alias])