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
@@ -141,11 +141,11 @@
 }
 
 function threadIsTopLevel(threadInfo: ?(ThreadInfo | RawThreadInfo)): boolean {
-  return !!(
-    threadInChatList(threadInfo) &&
-    threadInfo &&
-    threadInfo.type !== threadTypes.SIDEBAR
-  );
+  return threadInChatList(threadInfo) && threadIsChannel(threadInfo);
+}
+
+function threadIsChannel(threadInfo: ?(ThreadInfo | RawThreadInfo)): boolean {
+  return !!(threadInfo && threadInfo.type !== threadTypes.SIDEBAR);
 }
 
 function threadInBackgroundChatList(
@@ -1274,6 +1274,7 @@
   viewerIsMember,
   threadInChatList,
   threadIsTopLevel,
+  threadIsChannel,
   threadInBackgroundChatList,
   threadInHomeChatList,
   threadIsInHome,
diff --git a/native/chat/settings/thread-settings.react.js b/native/chat/settings/thread-settings.react.js
--- a/native/chat/settings/thread-settings.react.js
+++ b/native/chat/settings/thread-settings.react.js
@@ -22,6 +22,7 @@
   viewerIsMember,
   threadInChatList,
   getSingleOtherUser,
+  threadIsChannel,
 } from 'lib/shared/thread-utils';
 import threadWatcher from 'lib/shared/thread-watcher';
 import type { RelationshipButton } from 'lib/types/relationship-types';
@@ -479,10 +480,7 @@
     ) => {
       const listData: ChatSettingsItem[] = [];
 
-      const subchannels =
-        childThreads?.filter(
-          childThreadInfo => childThreadInfo.type !== threadTypes.SIDEBAR,
-        ) ?? [];
+      const subchannels = childThreads?.filter(threadIsChannel) ?? [];
       const canCreateSubchannels = threadHasPermission(
         threadInfo,
         threadPermissions.CREATE_SUBCHANNELS,
diff --git a/web/chat/thread-menu.react.js b/web/chat/thread-menu.react.js
--- a/web/chat/thread-menu.react.js
+++ b/web/chat/thread-menu.react.js
@@ -12,7 +12,11 @@
 import * as React from 'react';
 
 import { childThreadInfos } from 'lib/selectors/thread-selectors';
-import { threadHasPermission, viewerIsMember } from 'lib/shared/thread-utils';
+import {
+  threadHasPermission,
+  viewerIsMember,
+  threadIsChannel,
+} from 'lib/shared/thread-utils';
 import {
   type ThreadInfo,
   threadTypes,
@@ -65,9 +69,7 @@
   );
 
   const hasSubchannels = React.useMemo(() => {
-    return childThreads?.some(
-      childThreadInfo => childThreadInfo.type !== threadTypes.SIDEBAR,
-    );
+    return !!childThreads?.some(threadIsChannel);
   }, [childThreads]);
 
   const viewSubchannelsItem = React.useMemo(() => {