diff --git a/lib/shared/thread-utils.js b/lib/shared/thread-utils.js
--- a/lib/shared/thread-utils.js
+++ b/lib/shared/thread-utils.js
@@ -189,9 +189,26 @@
 ): $ReadOnlyArray<ThreadInfo> {
   const loggedInUserInfo = useLoggedInUserInfo();
   const userInfos = useSelector(state => state.userStore.userInfos);
+  const allThreadInfos = useSelector(state => state.threadStore.threadInfos);
+  const allThreadInfosArray = React.useMemo(
+    () => values(allThreadInfos),
+    [allThreadInfos],
+  );
+
+  const communityRootMembersToRole =
+    useCommunityRootMembersToRole(allThreadInfosArray);
 
   return React.useMemo(() => {
     return threadInfos.filter((threadInfo: ThreadInfo) => {
+      const membersToRole = communityRootMembersToRole[threadInfo.id];
+      const memberHasAdminRole = threadMembersWithoutAddedAdmin(
+        threadInfo,
+      ).some(member => roleIsAdminRole(membersToRole[member.id]));
+
+      if (memberHasAdminRole) {
+        return hasPermission(threadInfo.currentUser.permissions, permission);
+      }
+
       const permissions = threadFrozenDueToBlock(
         threadInfo,
         loggedInUserInfo?.id,
@@ -202,7 +219,13 @@
 
       return hasPermission(permissions, permission);
     });
-  }, [loggedInUserInfo?.id, permission, threadInfos, userInfos]);
+  }, [
+    loggedInUserInfo?.id,
+    permission,
+    threadInfos,
+    userInfos,
+    communityRootMembersToRole,
+  ]);
 }
 
 function useThreadHasPermission(