diff --git a/desktop/src/features/channels/ui/MembersSidebar.tsx b/desktop/src/features/channels/ui/MembersSidebar.tsx
index 2a125e0d01..2633b5bcef 100644
--- a/desktop/src/features/channels/ui/MembersSidebar.tsx
+++ b/desktop/src/features/channels/ui/MembersSidebar.tsx
@@ -1,6 +1,6 @@
import * as React from "react";
import { useMutation, useQueryClient } from "@tanstack/react-query";
-import { UserRoundPlus, X } from "lucide-react";
+import { Search, UserRoundPlus, X } from "lucide-react";
import {
invalidateChannelState,
useAddChannelMembersMutation,
@@ -238,11 +238,14 @@ export function MembersSidebar({
() => new Set(rawMembers.map((member) => normalizePubkey(member.pubkey))),
[rawMembers],
);
- const canAddMembers = canAddChannelMembers({
- channelType: channel?.channelType,
- visibility: channel?.visibility,
- selfRole: selfMember?.role,
- });
+ const canAddMembers =
+ channel?.isMember === true &&
+ canAddChannelMembers({
+ channelType: channel?.channelType,
+ visibility: channel?.visibility,
+ selfRole: selfMember?.role,
+ });
+ const MemberSearchIcon = canAddMembers ? UserRoundPlus : Search;
// Distinguish "you can't add here" from "nothing to add" so a non-member
// viewing a private channel gets the reason instead of a silently missing affordance.
const showPrivateAddDeniedNotice =
@@ -715,7 +718,7 @@ export function MembersSidebar({
className={MODAL_SEARCH_SHELL_CLASS}
htmlFor="channel-management-search-users"
>
-
+