diff --git a/src/main/java/org/olat/group/BusinessGroupService.java b/src/main/java/org/olat/group/BusinessGroupService.java
index b240b6d3f719f1a88ebb3a77b5859b2f76c973c5..ea03ea1a962e23d3e8e006127405b2fe08121214 100644
--- a/src/main/java/org/olat/group/BusinessGroupService.java
+++ b/src/main/java/org/olat/group/BusinessGroupService.java
@@ -491,7 +491,7 @@ public interface BusinessGroupService {
 	 * @param identities
 	 * @param group
 	 */
-	public void removeMembers(Identity ureqIdentity, List<Identity> identities, OLATResource resource, MailPackage mailing);
+	public void removeMembers(Identity ureqIdentity, List<Identity> identities, OLATResource resource, MailPackage mailing, boolean overrideManaged);
 
 	
 	/**
diff --git a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
index 2f10e34c65a7f128db8c095effdf857410331eee..94e0f88626f16a05fd0d881b9efc5589aad34996 100644
--- a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
+++ b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
@@ -1109,7 +1109,7 @@ public class BusinessGroupServiceImpl implements BusinessGroupService {
 	}
 
 	@Override
-	public void removeMembers(Identity ureqIdentity, List<Identity> identities, OLATResource resource, MailPackage mailing) {
+	public void removeMembers(Identity ureqIdentity, List<Identity> identities, OLATResource resource, MailPackage mailing, boolean overrideManaged) {
 		if(identities == null || identities.isEmpty() || resource == null) return;//nothing to do
 		
 		List<BusinessGroup> groups = null;
@@ -1128,10 +1128,12 @@ public class BusinessGroupServiceImpl implements BusinessGroupService {
 		}
 		
 		//remove managed groups
-		for(Iterator<BusinessGroup> groupIt=groups.iterator(); groupIt.hasNext(); ) {
-			boolean managed = BusinessGroupManagedFlag.isManaged(groupIt.next(), BusinessGroupManagedFlag.membersmanagement);
-			if(managed) {
-				groupIt.remove();
+		if(!overrideManaged) {
+			for(Iterator<BusinessGroup> groupIt=groups.iterator(); groupIt.hasNext(); ) {
+				boolean managed = BusinessGroupManagedFlag.isManaged(groupIt.next(), BusinessGroupManagedFlag.membersmanagement);
+				if(managed) {
+					groupIt.remove();
+				}
 			}
 		}
 		
diff --git a/src/main/java/org/olat/group/ui/main/AbstractMemberListController.java b/src/main/java/org/olat/group/ui/main/AbstractMemberListController.java
index 7b96bb073f8955c3709cf20b681443d55d760f96..50bd296854b23490925209455a6e23a0bce64c47 100644
--- a/src/main/java/org/olat/group/ui/main/AbstractMemberListController.java
+++ b/src/main/java/org/olat/group/ui/main/AbstractMemberListController.java
@@ -647,12 +647,12 @@ public abstract class AbstractMemberListController extends FormBasicController i
 			List<CurriculumElement> elements = curriculumService.getCurriculumElements(repoEntry);
 			elements = curriculumService.filterElementsWithoutManagerRole(elements, roles);
 			for(CurriculumElement element:elements) {
-				curriculumService.removeMembers(element, members);
+				curriculumService.removeMembers(element, members, overrideManaged);
 			}
-			businessGroupService.removeMembers(getIdentity(), members, repoEntry.getOlatResource(), mailing);
+			businessGroupService.removeMembers(getIdentity(), members, repoEntry.getOlatResource(), mailing, overrideManaged);
 			repositoryManager.removeMembers(getIdentity(), members, repoEntry, mailing);
 		} else {
-			businessGroupService.removeMembers(getIdentity(), members, businessGroup.getResource(), mailing);
+			businessGroupService.removeMembers(getIdentity(), members, businessGroup.getResource(), mailing, overrideManaged);
 		}
 		reloadModel();
 	}
diff --git a/src/main/java/org/olat/modules/curriculum/CurriculumService.java b/src/main/java/org/olat/modules/curriculum/CurriculumService.java
index aaa0747e3c311b502d4e9150027b2ae62d0c2670..ce1f32f329c86794580962c095edde8b3cadfba4 100644
--- a/src/main/java/org/olat/modules/curriculum/CurriculumService.java
+++ b/src/main/java/org/olat/modules/curriculum/CurriculumService.java
@@ -332,7 +332,7 @@ public interface CurriculumService {
 	 * @param entry The repository entry
 	 * @param members The memberss
 	 */
-	public void removeMembers(CurriculumElement element, List<Identity> members);
+	public void removeMembers(CurriculumElement element, List<Identity> members, boolean overrideManaged);
 	
 	/**
 	 * The all list of repository entries hold by the specified curriculum element.
diff --git a/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java b/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java
index 3b67a69c767fda2e51d83ed03571ede754bb410a..7dfd7cc933cb1543d1e02515ed625eb690f2fa6d 100644
--- a/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java
+++ b/src/main/java/org/olat/modules/curriculum/manager/CurriculumServiceImpl.java
@@ -419,8 +419,8 @@ public class CurriculumServiceImpl implements CurriculumService {
 	}
 
 	@Override
-	public void removeMembers(CurriculumElement element, List<Identity> members) {
-		if(!CurriculumElementManagedFlag.isManaged(element, CurriculumElementManagedFlag.members)) {
+	public void removeMembers(CurriculumElement element, List<Identity> members, boolean overrideManaged) {
+		if(!CurriculumElementManagedFlag.isManaged(element, CurriculumElementManagedFlag.members) || overrideManaged) {
 			for(Identity member:members) {
 				groupDao.removeMembership(element.getGroup(), member);
 			}
diff --git a/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java b/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java
index 013d6f0fa9e4d2e1df4a0b8c709cc90e7a419909..53be3c7e9d29cf9af4c0b93d6c159d090510258c 100644
--- a/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java
+++ b/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java
@@ -588,7 +588,7 @@ public class BusinessGroupServiceTest extends OlatTestCase {
 		List<Identity> identitiesToRemove = new ArrayList<Identity>();
 		identitiesToRemove.add(ident1);
 		identitiesToRemove.add(ident3);
-		businessGroupService.removeMembers(admin, identitiesToRemove, resource.getOlatResource(), null);
+		businessGroupService.removeMembers(admin, identitiesToRemove, resource.getOlatResource(), null, false);
 		dbInstance.commitAndCloseSession();
 
 		//check in group1 stay only id2 in waiting list