diff --git a/lib/shared/reaction-utils.js b/lib/shared/reaction-utils.js
--- a/lib/shared/reaction-utils.js
+++ b/lib/shared/reaction-utils.js
@@ -4,7 +4,7 @@
 import * as React from 'react';
 
 import { relationshipBlockedInEitherDirection } from './relationship-utils.js';
-import { threadHasPermission } from './thread-utils.js';
+import { useThreadHasPermission } from './thread-utils.js';
 import { stringForUserExplicit } from './user-utils.js';
 import { useENSNames } from '../hooks/ens-cache.js';
 import type { ReactionInfo } from '../selectors/chat-selectors.js';
@@ -83,6 +83,14 @@
         ?.relationshipStatus,
   );
 
+  const userHasReactionPermission = useThreadHasPermission(
+    threadInfo,
+    threadPermissions.REACT_TO_MESSAGE,
+  );
+  if (!userHasReactionPermission) {
+    return false;
+  }
+
   if (
     !targetMessageInfo.id ||
     threadInfo.sourceMessageID === targetMessageInfo.id
@@ -90,16 +98,10 @@
     return false;
   }
 
-  const creatorRelationshipHasBlock =
-    targetMessageCreatorRelationship &&
-    relationshipBlockedInEitherDirection(targetMessageCreatorRelationship);
-
-  const hasPermission = threadHasPermission(
-    threadInfo,
-    threadPermissions.REACT_TO_MESSAGE,
+  return (
+    !targetMessageCreatorRelationship ||
+    !relationshipBlockedInEitherDirection(targetMessageCreatorRelationship)
   );
-
-  return hasPermission && !creatorRelationshipHasBlock;
 }
 
 export {