diff --git a/native/chat/message-results-screen.react.js b/native/chat/message-results-screen.react.js
--- a/native/chat/message-results-screen.react.js
+++ b/native/chat/message-results-screen.react.js
@@ -68,8 +68,13 @@
       return [];
     }
 
+    const pinnedMessageIDs = new Set();
+    translatedMessageResults.forEach(item => pinnedMessageIDs.add(item.id));
+
     const chatMessageInfoItems = chatMessageInfos.filter(
-      item => item.itemType === 'message' && item.isPinned,
+      item =>
+        item.itemType === 'message' &&
+        pinnedMessageIDs.has(item.messageInfo.id),
     );
 
     // By the nature of using messageListData and passing in
@@ -94,7 +99,7 @@
     }
 
     return sortedChatMessageInfoItems.filter(Boolean);
-  }, [chatMessageInfos, rawMessageResults]);
+  }, [translatedMessageResults, chatMessageInfos, rawMessageResults]);
 
   const measureCallback = React.useCallback(
     (listDataWithHeights: $ReadOnlyArray<ChatMessageItemWithHeight>) => {