diff --git a/.changeset/real-bobcats-train.md b/.changeset/real-bobcats-train.md
new file mode 100644
index 0000000000000000000000000000000000000000..6d51414c9fc4fbf70e4f59352d3a0b9664db8443
--- /dev/null
+++ b/.changeset/real-bobcats-train.md
@@ -0,0 +1,6 @@
+---
+'@rocket.chat/rest-typings': patch
+'@rocket.chat/meteor': patch
+---
+
+Don't show Join default channels option on edit user form.
diff --git a/apps/meteor/client/views/admin/users/AdminUserForm.tsx b/apps/meteor/client/views/admin/users/AdminUserForm.tsx
index a8575470509034bbec0b2bbd133bc09c910f25de..69aeb4e3120509e8b30106f29cb357d0a7a8c411 100644
--- a/apps/meteor/client/views/admin/users/AdminUserForm.tsx
+++ b/apps/meteor/client/views/admin/users/AdminUserForm.tsx
@@ -52,10 +52,12 @@ const getInitialValue = ({
 	data,
 	defaultUserRoles,
 	isSmtpEnabled,
+	isEditingExistingUser,
 }: {
 	data?: Serialized<IUser>;
 	defaultUserRoles?: IUser['roles'];
 	isSmtpEnabled?: boolean;
+	isEditingExistingUser?: boolean;
 }) => ({
 	roles: data?.roles ?? defaultUserRoles,
 	name: data?.name ?? '',
@@ -69,7 +71,7 @@ const getInitialValue = ({
 	requirePasswordChange: data?.requirePasswordChange || false,
 	customFields: data?.customFields ?? {},
 	statusText: data?.statusText ?? '',
-	joinDefaultChannels: true,
+	...(!isEditingExistingUser && { joinDefaultChannels: true }),
 	sendWelcomeEmail: isSmtpEnabled,
 	avatar: '' as AvatarObject,
 });
@@ -97,6 +99,8 @@ const UserForm = ({ userData, onReload, ...props }: AdminUserFormProps) => {
 
 	const goToUser = useCallback((id) => router.navigate(`/admin/users/info/${id}`), [router]);
 
+	const isEditingExistingUser = Boolean(userData?._id);
+
 	const {
 		control,
 		watch,
@@ -104,7 +108,7 @@ const UserForm = ({ userData, onReload, ...props }: AdminUserFormProps) => {
 		reset,
 		formState: { errors, isDirty },
 	} = useForm({
-		defaultValues: getInitialValue({ data: userData, defaultUserRoles, isSmtpEnabled }),
+		defaultValues: getInitialValue({ data: userData, defaultUserRoles, isSmtpEnabled, isEditingExistingUser }),
 		mode: 'onBlur',
 	});
 
@@ -166,7 +170,7 @@ const UserForm = ({ userData, onReload, ...props }: AdminUserFormProps) => {
 		<>
 			<ContextualbarScrollableContent {...props}>
 				<FieldGroup>
-					{userData?._id && (
+					{isEditingExistingUser && (
 						<Field>
 							<Controller
 								name='avatar'
@@ -346,7 +350,7 @@ const UserForm = ({ userData, onReload, ...props }: AdminUserFormProps) => {
 								<Controller
 									control={control}
 									name='password'
-									rules={{ required: !userData?._id && t('The_field_is_required', t('Password')) }}
+									rules={{ required: !isEditingExistingUser && t('The_field_is_required', t('Password')) }}
 									render={({ field }) => (
 										<PasswordInput
 											{...field}
@@ -434,18 +438,20 @@ const UserForm = ({ userData, onReload, ...props }: AdminUserFormProps) => {
 						</FieldRow>
 						{errors?.roles && <FieldError>{errors.roles.message}</FieldError>}
 					</Field>
-					<Field>
-						<FieldRow>
-							<FieldLabel htmlFor={joinDefaultChannelsId}>{t('Join_default_channels')}</FieldLabel>
-							<Controller
-								control={control}
-								name='joinDefaultChannels'
-								render={({ field: { ref, onChange, value } }) => (
-									<ToggleSwitch id={joinDefaultChannelsId} ref={ref} onChange={onChange} checked={value} />
-								)}
-							/>
-						</FieldRow>
-					</Field>
+					{!isEditingExistingUser && (
+						<Field>
+							<FieldRow>
+								<FieldLabel htmlFor={joinDefaultChannelsId}>{t('Join_default_channels')}</FieldLabel>
+								<Controller
+									control={control}
+									name='joinDefaultChannels'
+									render={({ field: { ref, onChange, value } }) => (
+										<ToggleSwitch id={joinDefaultChannelsId} ref={ref} onChange={onChange} checked={value} />
+									)}
+								/>
+							</FieldRow>
+						</Field>
+					)}
 					<Field>
 						<FieldRow>
 							<FieldLabel htmlFor={sendWelcomeEmailId}>{t('Send_welcome_email')}</FieldLabel>
diff --git a/apps/meteor/tests/e2e/administration.spec.ts b/apps/meteor/tests/e2e/administration.spec.ts
index 48657efea73aea5df37cc2221df588f75e4f6010..c778e165a7693d9092b07d6430e5cbaab6ce53bc 100644
--- a/apps/meteor/tests/e2e/administration.spec.ts
+++ b/apps/meteor/tests/e2e/administration.spec.ts
@@ -88,6 +88,26 @@ test.describe.parallel('administration', () => {
 			await poAdmin.tabs.users.setupSmtpLink.click();
 			await expect(page).toHaveURL('/admin/settings/Email');
 		});
+
+		test('expect to show join default channels option only when creating new users, not when editing users', async () => {
+			const username = faker.internet.userName();
+
+			await poAdmin.tabs.users.btnNewUser.click();
+			await poAdmin.tabs.users.inputName.type(faker.person.firstName());
+			await poAdmin.tabs.users.inputUserName.type(username);
+			await poAdmin.tabs.users.inputEmail.type(faker.internet.email());
+			await poAdmin.tabs.users.checkboxVerified.click();
+			await poAdmin.tabs.users.inputPassword.type('any_password');
+			await expect(poAdmin.tabs.users.userRole).toBeVisible();
+			await expect(poAdmin.tabs.users.joinDefaultChannels).toBeVisible();
+			await poAdmin.tabs.users.btnSave.click();
+
+			await poAdmin.inputSearchUsers.fill(username);
+			await poAdmin.getUserRow(username).click();
+			await poAdmin.btnEdit.click();
+			await expect(poAdmin.tabs.users.inputUserName).toHaveValue(username);
+			await expect(poAdmin.tabs.users.joinDefaultChannels).not.toBeVisible();
+		});
 	});
 
 	test.describe('Rooms', () => {
diff --git a/apps/meteor/tests/e2e/page-objects/admin.ts b/apps/meteor/tests/e2e/page-objects/admin.ts
index 5f61d2ef43e12dc18eb87173f2a66a0bd9658b65..7917687782953861908d8cfa334794707fa777ae 100644
--- a/apps/meteor/tests/e2e/page-objects/admin.ts
+++ b/apps/meteor/tests/e2e/page-objects/admin.ts
@@ -20,10 +20,18 @@ export class Admin {
 		return this.page.locator('[role="link"]', { hasText: name });
 	}
 
+	getUserRow(username?: string): Locator {
+		return this.page.locator('[role="link"]', { hasText: username });
+	}
+
 	get btnSave(): Locator {
 		return this.page.locator('button >> text="Save"');
 	}
 
+	get btnEdit(): Locator {
+		return this.page.locator('button >> text="Edit"');
+	}
+
 	get privateLabel(): Locator {
 		return this.page.locator(`label >> text=Private`);
 	}
diff --git a/apps/meteor/tests/e2e/page-objects/fragments/admin-flextab-users.ts b/apps/meteor/tests/e2e/page-objects/fragments/admin-flextab-users.ts
index 23e855b1aa21cd9fdb18c02c9cd43b3e93e192bb..d57d6be612c65bbc0c907b65e4472d2bf7a3360d 100644
--- a/apps/meteor/tests/e2e/page-objects/fragments/admin-flextab-users.ts
+++ b/apps/meteor/tests/e2e/page-objects/fragments/admin-flextab-users.ts
@@ -39,6 +39,10 @@ export class AdminFlextabUsers {
 		return this.page.locator('//label[text()="Verified"]');
 	}
 
+	get joinDefaultChannels(): Locator {
+		return this.page.locator('//label[text()="Join default channels"]');
+	}
+
 	get userRole(): Locator {
 		return this.page.locator('button[role="option"]:has-text("user")');
 	}