diff --git a/src/main/java/org/olat/modules/lecture/manager/LectureBlockToGroupDAO.java b/src/main/java/org/olat/modules/lecture/manager/LectureBlockToGroupDAO.java
index d5e5fd68f7c1c199fb224048273fc54e7d86107c..3d885d2e64845588c0a49e20bb163a7604b9899f 100644
--- a/src/main/java/org/olat/modules/lecture/manager/LectureBlockToGroupDAO.java
+++ b/src/main/java/org/olat/modules/lecture/manager/LectureBlockToGroupDAO.java
@@ -50,6 +50,15 @@ public class LectureBlockToGroupDAO {
 		return blockToGroup;
 	}
 	
+	public int deleteLectureBlockToGroup(Group group) {
+		StringBuilder sb = new StringBuilder(128);
+		sb.append("delete from lectureblocktogroup blockToGroup where blockToGroup.group.key=:groupKey");
+		return dbInstance.getCurrentEntityManager()
+				.createQuery(sb.toString())
+				.setParameter("groupKey", group.getKey())
+				.executeUpdate();
+	}
+	
 	public void remove(LectureBlockToGroup lectureBlockToGroup) {
 		LectureBlockToGroupImpl ref = dbInstance.getCurrentEntityManager()
 				.getReference(LectureBlockToGroupImpl.class, lectureBlockToGroup.getKey());
@@ -57,7 +66,7 @@ public class LectureBlockToGroupDAO {
 	}
 	
 	public List<Group> getGroups(LectureBlockRef lectureBlock) {
-		StringBuilder sb = new StringBuilder();
+		StringBuilder sb = new StringBuilder(256);
 		sb.append("select blockToGroup.group from lectureblocktogroup blockToGroup")
 		  .append(" where blockToGroup.lectureBlock.key=:blockKey");
 		return dbInstance.getCurrentEntityManager()
@@ -67,7 +76,7 @@ public class LectureBlockToGroupDAO {
 	}
 	
 	public List<LectureBlockToGroup> getLectureBlockToGroups(LectureBlockRef lectureBlock) {
-		StringBuilder sb = new StringBuilder();
+		StringBuilder sb = new StringBuilder(256);
 		sb.append("select blockToGroup from lectureblocktogroup blockToGroup")
 		  .append(" inner join fetch blockToGroup.group bGroup")
 		  .append(" where blockToGroup.lectureBlock.key=:blockKey");
diff --git a/src/main/java/org/olat/modules/lecture/manager/LectureServiceImpl.java b/src/main/java/org/olat/modules/lecture/manager/LectureServiceImpl.java
index 070bb392dc55ebcef66ac40b61417b48e5b9922f..7865fc661cdeb6fb92a2e8ba4401d8bbd47df027 100644
--- a/src/main/java/org/olat/modules/lecture/manager/LectureServiceImpl.java
+++ b/src/main/java/org/olat/modules/lecture/manager/LectureServiceImpl.java
@@ -58,6 +58,8 @@ import org.olat.core.util.mail.MailContextImpl;
 import org.olat.core.util.mail.MailManager;
 import org.olat.core.util.mail.MailTemplate;
 import org.olat.core.util.mail.MailerResult;
+import org.olat.group.BusinessGroup;
+import org.olat.group.DeletableGroupData;
 import org.olat.modules.lecture.LectureBlock;
 import org.olat.modules.lecture.LectureBlockAuditLog;
 import org.olat.modules.lecture.LectureBlockRef;
@@ -99,7 +101,7 @@ import org.springframework.stereotype.Service;
  *
  */
 @Service
-public class LectureServiceImpl implements LectureService, UserDataDeletable {
+public class LectureServiceImpl implements LectureService, UserDataDeletable, DeletableGroupData {
 	private static final OLog log = Tracing.createLoggerFor(LectureServiceImpl.class);
 	private static final CalendarManagedFlag[] CAL_MANAGED_FLAGS = new CalendarManagedFlag[] { CalendarManagedFlag.all };
 
@@ -334,6 +336,12 @@ public class LectureServiceImpl implements LectureService, UserDataDeletable {
 		lectureBlockReminderDao.deleteReminders(identity);
 	}
 
+	@Override
+	public boolean deleteGroupDataFor(BusinessGroup group) {
+		lectureBlockToGroupDao.deleteLectureBlockToGroup(group.getBaseGroup());
+		return true;
+	}
+
 	@Override
 	public LectureBlock getLectureBlock(LectureBlockRef block) {
 		return lectureBlockDao.loadByKey(block.getKey());
diff --git a/src/test/java/org/olat/modules/lecture/manager/LectureServiceTest.java b/src/test/java/org/olat/modules/lecture/manager/LectureServiceTest.java
index fc2fd7ab1cf98fd5e271d201041992d2a0011d9e..fb4d7dfb9e21bfd24e35e319260d007d82b24b69 100644
--- a/src/test/java/org/olat/modules/lecture/manager/LectureServiceTest.java
+++ b/src/test/java/org/olat/modules/lecture/manager/LectureServiceTest.java
@@ -24,17 +24,22 @@ import java.util.Calendar;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
+import java.util.Set;
 
 import org.junit.Assert;
 import org.junit.Test;
 import org.olat.basesecurity.Group;
 import org.olat.core.commons.persistence.DB;
 import org.olat.core.id.Identity;
+import org.olat.group.BusinessGroup;
+import org.olat.group.BusinessGroupService;
 import org.olat.modules.lecture.LectureBlock;
 import org.olat.modules.lecture.LectureBlockStatus;
+import org.olat.modules.lecture.LectureBlockToGroup;
 import org.olat.modules.lecture.LectureRollCallStatus;
 import org.olat.modules.lecture.LectureService;
 import org.olat.modules.lecture.RepositoryEntryLectureConfiguration;
+import org.olat.modules.lecture.model.LectureBlockImpl;
 import org.olat.modules.lecture.model.LectureBlockStatistics;
 import org.olat.modules.vitero.model.GroupRole;
 import org.olat.repository.RepositoryEntry;
@@ -59,6 +64,8 @@ public class LectureServiceTest extends OlatTestCase {
 	@Autowired
 	private RepositoryService repositoryService;
 	@Autowired
+	private BusinessGroupService businessGroupService;
+	@Autowired
 	private RepositoryEntryRelationDAO repositoryEntryRelationDAO;
 	@Autowired
 	private LectureParticipantSummaryDAO lectureParticipantSummaryDao;
@@ -214,12 +221,54 @@ public class LectureServiceTest extends OlatTestCase {
 		Assert.assertEquals(entry, config.getEntry());
 	}
 	
+	@Test
+	public void deleteBusinessGroupWithLectures() {
+		//prepare a course with a business group
+		Identity coachGroup = JunitTestHelper.createAndPersistIdentityAsRndUser("teacher-grp");
+		RepositoryEntry entry = JunitTestHelper.createAndPersistRepositoryEntry();
+		//add business group
+		BusinessGroup group = businessGroupService.createBusinessGroup(coachGroup, "For lectures", "tg", null, null, false, false, entry);
+	    businessGroupService.addResourceTo(group, entry);
+	    dbInstance.commit();
+	    
+	    // create a lecture block
+	    LectureBlock lectureBlock = lectureService.createLectureBlock(entry);
+		lectureBlock.setStartDate(new Date());
+		lectureBlock.setEndDate(new Date());
+		lectureBlock.setTitle("Hello lecturers");
+		lectureBlock.setPlannedLecturesNumber(4);
+		List<Group> groups = new ArrayList<>();
+		groups.add(group.getBaseGroup());
+		Group defGroup = repositoryService.getDefaultGroup(entry);
+		groups.add(defGroup);
+		LectureBlock block = lectureService.save(lectureBlock, groups);
+		dbInstance.commitAndCloseSession();
+		Assert.assertNotNull(block);
+		
+		//delete the group
+		businessGroupService.deleteBusinessGroup(group);
+		dbInstance.commitAndCloseSession();
+		
+		//retrieve lecture block
+		List<LectureBlock> blocks = lectureService.getLectureBlocks(entry);
+		Assert.assertNotNull(blocks);
+	    Assert.assertEquals(1, blocks.size());
+	    LectureBlock reloadedBlock = blocks.get(0);
+	    Assert.assertNotNull(reloadedBlock);
+	    //check that the group associate with the repository entry is there
+	    Set<LectureBlockToGroup> lectureBlockToGroups = ((LectureBlockImpl)reloadedBlock).getGroups();
+	    Assert.assertNotNull(lectureBlockToGroups);
+	    Assert.assertEquals(1, lectureBlockToGroups.size());
+	    LectureBlockToGroup lectureBlockToGroup = lectureBlockToGroups.iterator().next();
+	    Assert.assertEquals(defGroup, lectureBlockToGroup.getGroup());
+	}
+	
 	private LectureBlock createMinimalLectureBlock(RepositoryEntry entry) {
 		LectureBlock lectureBlock = lectureService.createLectureBlock(entry);
 		lectureBlock.setStartDate(new Date());
 		lectureBlock.setEndDate(new Date());
 		lectureBlock.setTitle("Hello lecturers");
-		lectureBlock.setPlannedLecturesNumber(4);;
+		lectureBlock.setPlannedLecturesNumber(4);
 		return lectureService.save(lectureBlock, null);
 	}