diff --git a/src/main/java/org/olat/modules/fo/manager/ForumManager.java b/src/main/java/org/olat/modules/fo/manager/ForumManager.java
index 8daf2ac3a5bced5e80e7854e6f67b105452d64d0..379eca8fa7726a7b79cfa448540915ce406e552e 100644
--- a/src/main/java/org/olat/modules/fo/manager/ForumManager.java
+++ b/src/main/java/org/olat/modules/fo/manager/ForumManager.java
@@ -595,18 +595,22 @@ public class ForumManager {
 			.setParameter("forumKey", forumKey)
 			.executeUpdate();
 		// delete messages
-		//TODO forum
-		/*
-		String deleteMessages = "delete from fomessage as msg where msg.forum.key=:forumKey";
-		dbInstance.getCurrentEntityManager().createQuery(deleteMessages)
-			.setParameter("forumKey", forumKey)
-			.executeUpdate();
+		String messagesToDelete = "select msg from fomessage as msg where msg.forum.key=:forumKey and msg.threadtop.key is null";
+		List<Message> threadsToDelete = dbInstance.getCurrentEntityManager()
+					.createQuery(messagesToDelete, Message.class)
+					.setParameter("forumKey", forumKey)
+					.getResultList();
+		for(Message threadToDelete:threadsToDelete) {
+			deleteMessageTree(forumKey, threadToDelete);
+			dbInstance.getCurrentEntityManager().remove(threadToDelete);
+		}
+		dbInstance.commit();
+		
 		// delete forum
 		String deleteForum = "delete from forum as fo where fo.key=:forumKey";
 		dbInstance.getCurrentEntityManager().createQuery(deleteForum)
 			.setParameter("forumKey", forumKey)
 			.executeUpdate();
-		*/
 		//delete all flags
 		OLATResourceable ores = OresHelper.createOLATResourceableInstance(Forum.class, forum.getKey());
 		markingService.getMarkManager().deleteMarks(ores);
diff --git a/src/test/java/org/olat/modules/fo/ForumManagerTest.java b/src/test/java/org/olat/modules/fo/ForumManagerTest.java
index fc2eaed4454ce96ecd58bd83448bc7d6f7a7e72e..143a8ff7d5e7d0427e11b0eab5d161b58218dd67 100644
--- a/src/test/java/org/olat/modules/fo/ForumManagerTest.java
+++ b/src/test/java/org/olat/modules/fo/ForumManagerTest.java
@@ -31,7 +31,6 @@ import java.util.Date;
 import java.util.List;
 
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.olat.core.commons.persistence.DB;
 import org.olat.core.id.Identity;
@@ -203,7 +202,7 @@ public class ForumManagerTest extends OlatTestCase {
 		dbInstance.commitAndCloseSession();
 	}
 	
-	@Ignore @Test
+	@Test
 	public void testDeleteForum() {
 		Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-7");
 		Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-8");