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
@@ -922,6 +922,35 @@
   );
 }
 
+function threadIsWithBlockedUserOnlyWithoutAdminRoleCheck(
+  threadInfo: ThreadInfo,
+  viewerID: ?string,
+  userInfos: UserInfos,
+  checkOnlyViewerBlock: boolean,
+): boolean {
+  if (threadOrParentThreadIsGroupChat(threadInfo)) {
+    return false;
+  }
+
+  const otherUserID = getSingleOtherUser(threadInfo, viewerID);
+  if (!otherUserID) {
+    return false;
+  }
+  const otherUserRelationshipStatus =
+    userInfos[otherUserID]?.relationshipStatus;
+
+  if (checkOnlyViewerBlock) {
+    return (
+      otherUserRelationshipStatus === userRelationshipStatus.BLOCKED_BY_VIEWER
+    );
+  }
+
+  return (
+    !!otherUserRelationshipStatus &&
+    relationshipBlockedInEitherDirection(otherUserRelationshipStatus)
+  );
+}
+
 function innerThreadFrozenDueToBlock(
   threadInfo: LegacyRawThreadInfo | RawThreadInfo | ThreadInfo,
   viewerID: ?string,
@@ -968,15 +997,11 @@
       return false;
     }
 
-    const options: ThreadIsWithBlockedUserOnlyOptions = {
-      checkOnlyViewerBlock: true,
-      skipMemberAdminRoleCheck: true,
-    };
-    return threadIsWithBlockedUserOnly(
+    return threadIsWithBlockedUserOnlyWithoutAdminRoleCheck(
       threadInfo,
       viewerID,
       userInfos,
-      options,
+      true,
     );
   }, [memberHasAdminRole, threadInfo, userInfos, viewerID]);
 }