diff --git a/.hgtags b/.hgtags
index 36fb80220db7a30531e6238743bf971cfd43a069..3027e31ec94b3251cd5a10a32a6787caa637893b 100644
--- a/.hgtags
+++ b/.hgtags
@@ -180,3 +180,4 @@ ced19a2138aadfc4039ebe223e60f5df63e70af2 OpenOLAT 11.2.3
 aa02a5383a846d9b76620693f1713cc1f7a5c3b7 OpenOLAT 11.3.0
 337b0fc7a050487d03ced1635bde15b0f42e7af7 OpenOLAT 11.3.1
 645a985d874cc6a08fd0abd38973b40e21d46161 OpenOLAT 11.3.2
+11781a2f2cd56895272e83be82eb020904555163 OpenOLAT 11.3.3
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentRenderFunctions.java b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentRenderFunctions.java
index 03cf91b81a1ab6f74f1dea8643250566537d972d..a2e8566db39079d99e0ca65aefd65f4d195408f6 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentRenderFunctions.java
+++ b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentRenderFunctions.java
@@ -619,7 +619,7 @@ public class AssessmentRenderFunctions {
 	 */
 	
 	public static final String convertLink(AssessmentObjectComponent component, ResolvedAssessmentItem resolvedAssessmentItem, String uri) {
-		if(uri != null && uri.startsWith("http:") || uri.startsWith("https:") || uri.startsWith("mailto:")) {
+		if(uri != null && (uri.startsWith("http:") || uri.startsWith("https:") || uri.startsWith("mailto:"))) {
 			return uri;
 		}
 		
diff --git a/src/test/java/org/olat/modules/fo/ForumManagerTest.java b/src/test/java/org/olat/modules/fo/ForumManagerTest.java
index 6013fd272f46feca631f02680a0aca0c1c4e9017..121ef64eae26f8de90196d7a1225964baf7c2287 100644
--- a/src/test/java/org/olat/modules/fo/ForumManagerTest.java
+++ b/src/test/java/org/olat/modules/fo/ForumManagerTest.java
@@ -1251,6 +1251,45 @@ public class ForumManagerTest extends OlatTestCase {
 		dbInstance.commitAndCloseSession();
 	}
 	
+	@Test
+	public void deleteMessageTree_withMarks() {
+		Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-15");
+		Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-16");
+		Forum fo = forumManager.addAForum();
+		dbInstance.commit();
+
+		Message topMessage = forumManager.createMessage(fo, id1, false);
+		topMessage.setTitle("Future deleted message 1");
+		topMessage.setBody("Future deleted  stuff");
+		forumManager.addTopMessage(topMessage);
+		dbInstance.commit();
+
+		Message reply = forumManager.createMessage(fo, id2, false);
+		reply.setTitle("Future deleted 2");
+		reply.setBody("Future deleted  stuff");
+		forumManager.replyToMessage(reply, topMessage);
+		dbInstance.commit();
+		
+		Message reply2 = forumManager.createMessage(fo, id1, false);
+		reply2.setTitle("Future deleted 3");
+		reply2.setBody("Future deleted  stuff");
+		forumManager.replyToMessage(reply2, reply);
+		dbInstance.commit();
+		
+		//mark as read
+		forumManager.markAsRead(id1, fo, topMessage);
+		forumManager.markAsRead(id1, fo, reply);
+		forumManager.markAsRead(id1, fo, reply2);
+		forumManager.markAsRead(id2, fo, topMessage);
+		forumManager.markAsRead(id2, fo, reply);
+		forumManager.markAsRead(id2, fo, reply2);
+		dbInstance.commitAndCloseSession();
+		
+		//delete a message
+		forumManager.deleteMessageTree(fo.getKey(), reply2);
+		dbInstance.commitAndCloseSession();
+	}
+	
 	@Test
 	public void deleteForum() {
 		Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-7");
@@ -1281,6 +1320,54 @@ public class ForumManagerTest extends OlatTestCase {
 		dbInstance.commit();
 	}
 	
+	@Test
+	public void deleteForum_bigForumWithMarks() {
+		Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-17");
+		Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-18");
+		Identity id3 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-19");
+		Forum fo = forumManager.addAForum();
+		dbInstance.commit();
+		
+		List<Message> messages = new ArrayList<>();
+		for(int i=0; i<5; i++) {
+			Message topMessage = forumManager.createMessage(fo, id1, false);
+			topMessage.setTitle("Future deleted forum part. " + i);
+			topMessage.setBody("Future deleted  stuff");
+			forumManager.addTopMessage(topMessage);
+			messages.add(topMessage);
+			dbInstance.commit();
+			
+			for(int j=0; j<3; j++) {
+				Message reply = forumManager.createMessage(fo, id2, false);
+				reply.setTitle("Future deleted forum part. " + i + "." + j);
+				reply.setBody("Future deleted  stuff");
+				forumManager.replyToMessage(reply, topMessage);
+				messages.add(reply);
+				dbInstance.commit();
+
+				for(int k=0; k<3; k++) {
+					Message reply2 = forumManager.createMessage(fo, id3, false);
+					reply2.setTitle("Future deleted forum part. " + i + "." + j + "." + k);
+					reply2.setBody("Future deleted  stuff");
+					forumManager.replyToMessage(reply2, reply);
+					messages.add(reply2);
+					dbInstance.commitAndCloseSession();
+				}
+			}
+		}
+		
+		for(Message message:messages) {
+			forumManager.markAsRead(id1, fo, message);
+			forumManager.markAsRead(id2, fo, message);
+			forumManager.markAsRead(id3, fo, message);
+		}
+		dbInstance.commitAndCloseSession();
+
+		//delete the forum
+		forumManager.deleteForum(fo.getKey());
+		dbInstance.commit();
+	}
+	
 	@Test
 	public void mergeForums() {
 		Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("fo-9");