diff --git a/models/ir_ui_menu.py b/models/ir_ui_menu.py
index 461512223a6a4ee1fbf0ab0517734c1aff79dd78..2ed495ad7a6d90abaab10555248c79ab44c01711 100644
--- a/models/ir_ui_menu.py
+++ b/models/ir_ui_menu.py
@@ -30,7 +30,10 @@ class IrUiMenuMultiCompany(models.Model):
         menu_ids = self.browse(list(menus))
         visible_menu_ids = menu_ids
         company_id = self.env.user.company_id
-        for menu in menu_ids:
-            if menu.company_ids and company_id not in menu.company_ids:
+        specific_menu_ids = menu_ids.sudo().filtered(
+            lambda m: m.company_ids
+        )
+        for menu in specific_menu_ids:
+            if company_id not in menu.company_ids:
                 visible_menu_ids = visible_menu_ids - menu
         return set(visible_menu_ids.ids)