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
@@ -1669,13 +1669,7 @@
   );
 }
 
-function useUserProfileThreadInfo(userInfo: ?UserInfo): ?UserProfileThreadInfo {
-  const userID = userInfo?.id;
-  const username = userInfo?.username;
-
-  const loggedInUserInfo = useLoggedInUserInfo();
-  const isViewerProfile = loggedInUserInfo?.id === userID;
-
+function useOldestPrivateThreadInfo(): ?ThreadInfo {
   const genesisPrivateThreadInfosSelector = threadInfosSelectorForThreadType(
     threadTypes.GENESIS_PRIVATE,
   );
@@ -1686,11 +1680,21 @@
     threadTypes.PRIVATE,
   );
   const privateThreadInfos = useSelector(privateThreadInfosSelector);
-  const oldestPrivateThreadInfo = React.useMemo(
+  return React.useMemo(
     () =>
       getOldestCreated([...privateThreadInfos, ...genesisPrivateThreadInfos]),
     [privateThreadInfos, genesisPrivateThreadInfos],
   );
+}
+
+function useUserProfileThreadInfo(userInfo: ?UserInfo): ?UserProfileThreadInfo {
+  const userID = userInfo?.id;
+  const username = userInfo?.username;
+
+  const loggedInUserInfo = useLoggedInUserInfo();
+  const isViewerProfile = loggedInUserInfo?.id === userID;
+
+  const oldestPrivateThreadInfo = useOldestPrivateThreadInfo();
 
   const usersWithPersonalThread = useSelector(usersWithPersonalThreadSelector);
   const genesisPersonalThreadInfosSelector = threadInfosSelectorForThreadType(
@@ -1877,6 +1881,7 @@
   useRoleNamesToSpecialRole,
   useRoleUserSurfacedPermissions,
   getThreadsToDeleteText,
+  useOldestPrivateThreadInfo,
   useUserProfileThreadInfo,
   assertAllThreadInfosAreLegacy,
   useOnScreenEntryEditableThreadInfos,