diff --git a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
index a378abfeab4cc652f697579b40278c1656496c51..acd487be3d38e1d8515044ba721278c1ff6a756c 100644
--- a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
+++ b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
@@ -198,6 +198,9 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 		
 		if(resource instanceof OLATResourceImpl) {
 			businessGroupRelationDAO.addRelationToResource(group, resource);
+			//add coach and participant permission
+			securityManager.createAndPersistPolicyWithResource(group.getOwnerGroup(), Constants.PERMISSION_COACH, resource);
+			securityManager.createAndPersistPolicyWithResource(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, resource);
 		}
 		return group;
 	}
@@ -1146,11 +1149,17 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	@Transactional
 	public void addResourceTo(BusinessGroup group, OLATResource resource) {
 		businessGroupRelationDAO.addRelationToResource(group, resource);
+		//add coach and participant permission
+		securityManager.createAndPersistPolicyWithResource(group.getOwnerGroup(), Constants.PERMISSION_COACH, resource);
+		securityManager.createAndPersistPolicyWithResource(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, resource);
 	}
 
 	@Override
 	public void removeResourceFrom(BusinessGroup group, OLATResource resource) {
 		businessGroupRelationDAO.deleteRelation(group, resource);
+		//remove permission
+		securityManager.deletePolicy(group.getOwnerGroup(), Constants.PERMISSION_COACH, resource);
+		securityManager.deletePolicy(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, resource);
 	}
 
 	@Override
diff --git a/src/test/java/org/olat/group/test/BGRightManagerTest.java b/src/test/java/org/olat/group/test/BGRightManagerTest.java
index cde72c59831eacde57b43675c0fd47bf06cf79d1..a72ba23a346a2fc3e321d058b0c5d333a55a9b15 100644
--- a/src/test/java/org/olat/group/test/BGRightManagerTest.java
+++ b/src/test/java/org/olat/group/test/BGRightManagerTest.java
@@ -236,7 +236,7 @@ public class BGRightManagerTest extends OlatTestCase {
 		Assert.assertEquals(2, identities.size());
 
 		List<Policy> policies = securityManager.getPoliciesOfSecurityGroup(g1.getPartipiciantGroup());
-		Assert.assertEquals(3, policies.size()); // read, archiving, courseeditor
+		Assert.assertEquals(4, policies.size()); // read, parti, archiving, courseeditor
 
 		DBFactory.getInstance().closeSession(); // simulate user clicks
 		assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id1, c2));