diff --git a/ee/client/omnichannel/units/EditUnit.js b/ee/client/omnichannel/units/EditUnit.js
index d932cb2e949bcaf078a23eac365e6b99626e915e..0bd98b25700b2dc967935f5cbd19cb317a419550 100644
--- a/ee/client/omnichannel/units/EditUnit.js
+++ b/ee/client/omnichannel/units/EditUnit.js
@@ -12,7 +12,7 @@ import { useForm } from '../../../../client/hooks/useForm';
 import { useRoute } from '../../../../client/contexts/RouterContext';
 
 
-export function UnitEditWithData({ unitId, reload }) {
+export function UnitEditWithData({ unitId, reload, allUnits }) {
 	const query = useMemo(() => ({ unitId }), [unitId]);
 	const { data, state, error } = useEndpointDataExperimental('livechat/units.getOne', query);
 	const { data: availableDepartments, state: availableDepartmentsState, error: availableDepartmentsError } = useEndpointDataExperimental('livechat/department');
@@ -29,16 +29,19 @@ export function UnitEditWithData({ unitId, reload }) {
 		return <Callout m='x16' type='danger'>{t('Not_Available')}</Callout>;
 	}
 
+	const filteredDepartments = { departments: availableDepartments.departments.filter((department) => !allUnits || !allUnits.units || !department.ancestors || department.ancestors[0] === unitId || !allUnits.units.find((unit) => unit._id === department.ancestors[0])) };
+
+
 	return <UnitEdit
 		unitId={unitId}
 		data={data}
-		availableDepartments={availableDepartments}
+		availableDepartments={filteredDepartments}
 		availableMonitors={availableMonitors}
 		unitMonitors={unitMonitors}
 		reload={reload}/>;
 }
 
-export function UnitNew({ reload }) {
+export function UnitNew({ reload, allUnits }) {
 	const t = useTranslation();
 
 	const { data: availableDepartments, state: availableDepartmentsState, error: availableDepartmentsError } = useEndpointDataExperimental('livechat/department');
@@ -52,7 +55,8 @@ export function UnitNew({ reload }) {
 		return <Box mbs='x16'>{t('Not_found')}</Box>;
 	}
 
-	return <UnitEdit reload={reload} isNew availableDepartments={availableDepartments} availableMonitors={availableMonitors}/>;
+	const filteredDepartments = { departments: availableDepartments.departments.filter((department) => !allUnits || !allUnits.units || !department.ancestors || !allUnits.units.find((unit) => unit._id === department.ancestors[0])) };
+	return <UnitEdit reload={reload} isNew availableDepartments={filteredDepartments} availableMonitors={availableMonitors}/>;
 }
 
 export function UnitEdit({ data, unitId, isNew, availableDepartments, availableMonitors, unitMonitors, reload, ...props }) {
@@ -89,10 +93,10 @@ export function UnitEdit({ data, unitId, isNew, availableDepartments, availableM
 		monitors,
 	} = values;
 
-	const nameError = useMemo(() => (!name || name.length === 0 ? t('The_field_is_required', 'name') : undefined), [name, t]);
-	const visibilityError = useMemo(() => (!visibility || visibility.length === 0 ? t('The_field_is_required', 'description') : undefined), [visibility, t]);
-	const departmentError = useMemo(() => (!departments || departments.length === 0 ? t('The_field_is_required', 'departments') : undefined), [departments, t]);
-	const unitMonitorsError = useMemo(() => (!monitors || monitors.length === 0 ? t('The_field_is_required', 'monitors') : undefined), [monitors, t]);
+	const nameError = useMemo(() => (!name || name.length === 0 ? t('The_field_is_required', t('name')) : undefined), [name, t]);
+	const visibilityError = useMemo(() => (!visibility || visibility.length === 0 ? t('The_field_is_required', t('description')) : undefined), [visibility, t]);
+	const departmentError = useMemo(() => (!departments || departments.length === 0 ? t('The_field_is_required', t('departments')) : undefined), [departments, t]);
+	const unitMonitorsError = useMemo(() => (!monitors || monitors.length === 0 ? t('The_field_is_required', t('monitors')) : undefined), [monitors, t]);
 
 	const saveUnit = useMethod('livechat:saveUnit');
 
diff --git a/ee/client/omnichannel/units/UnitsRoute.js b/ee/client/omnichannel/units/UnitsRoute.js
index 822aae90e09dc2a36fab6954fb46b74caccade78..6f0ffeda301d460d14fd96e70a9b1bf1adf50b48 100644
--- a/ee/client/omnichannel/units/UnitsRoute.js
+++ b/ee/client/omnichannel/units/UnitsRoute.js
@@ -127,11 +127,11 @@ function UnitsRoute() {
 				<VerticalBar.Close onClick={handleVerticalBarCloseButtonClick} />
 			</VerticalBar.Header>
 
-			{context === 'edit' && <UnitEditWithData unitId={id} reload={reload}/>}
-			{context === 'new' && <UnitNew reload={reload} />}
+			{context === 'edit' && <UnitEditWithData unitId={id} reload={reload} allUnits={data} />}
+			{context === 'new' && <UnitNew reload={reload} allUnits={data} />}
 
 		</VerticalBar>;
-	}, [t, context, id, unitsRoute, reload]);
+	}, [t, context, id, unitsRoute, reload, data]);
 
 	if (!canViewUnits) {
 		return <NotAuthorizedPage />;