diff --git a/native/avatars/thread-avatar.react.js b/native/avatars/thread-avatar.react.js
--- a/native/avatars/thread-avatar.react.js
+++ b/native/avatars/thread-avatar.react.js
@@ -37,11 +37,20 @@
     displayUserIDForThread = getSingleOtherUser(threadInfo, viewerID);
   }
 
-  const displayUser = useSelector(state =>
-    displayUserIDForThread
-      ? state.userStore.userInfos[displayUserIDForThread]
-      : null,
-  );
+  const displayUser = useSelector(state => {
+    if (!displayUserIDForThread) {
+      return null;
+    }
+
+    const userBase = state.userStore.userInfos[displayUserIDForThread];
+    const farcasterID =
+      state.auxUserStore.auxUserInfos[displayUserIDForThread]?.fid;
+
+    return {
+      ...userBase,
+      farcasterID,
+    };
+  });
 
   const resolvedThreadAvatar = useResolvedAvatar(avatarInfo, displayUser);
 
diff --git a/web/avatars/thread-avatar.react.js b/web/avatars/thread-avatar.react.js
--- a/web/avatars/thread-avatar.react.js
+++ b/web/avatars/thread-avatar.react.js
@@ -37,11 +37,20 @@
     displayUserIDForThread = getSingleOtherUser(threadInfo, viewerID);
   }
 
-  const displayUser = useSelector(state =>
-    displayUserIDForThread
-      ? state.userStore.userInfos[displayUserIDForThread]
-      : null,
-  );
+  const displayUser = useSelector(state => {
+    if (!displayUserIDForThread) {
+      return null;
+    }
+
+    const userBase = state.userStore.userInfos[displayUserIDForThread];
+    const farcasterID =
+      state.auxUserStore.auxUserInfos[displayUserIDForThread]?.fid;
+
+    return {
+      ...userBase,
+      farcasterID,
+    };
+  });
 
   const resolvedThreadAvatar = useResolvedAvatar(avatarInfo, displayUser);