diff --git a/src/main/java/org/olat/ims/qti21/manager/CorrectResponsesUtil.java b/src/main/java/org/olat/ims/qti21/manager/CorrectResponsesUtil.java
index 35d1bffb34874465f2578201820cae7b4abab05c..c1241c7cff6596d4c1fb3ebbea31f5d4a1fb33ca 100644
--- a/src/main/java/org/olat/ims/qti21/manager/CorrectResponsesUtil.java
+++ b/src/main/java/org/olat/ims/qti21/manager/CorrectResponsesUtil.java
@@ -356,7 +356,10 @@ public class CorrectResponsesUtil {
 	
 	public static final AbstractEntry getCorrectTextResponses(AssessmentItem assessmentItem, TextEntryInteraction interaction) {
 		ResponseDeclaration responseDeclaration = assessmentItem.getResponseDeclaration(interaction.getResponseIdentifier());
-		if(responseDeclaration.hasBaseType(BaseType.STRING) && responseDeclaration.hasCardinality(Cardinality.SINGLE)) {
+		if(responseDeclaration == null) {
+			log.error("Missing declaration for interaction: {} of assessment item: {}", interaction, assessmentItem);
+			return null;
+		} else if(responseDeclaration.hasBaseType(BaseType.STRING) && responseDeclaration.hasCardinality(Cardinality.SINGLE)) {
 			TextEntry textEntry = new TextEntry(interaction);
 			FIBAssessmentItemBuilder.extractTextEntrySettingsFromResponseDeclaration(textEntry, responseDeclaration, new AtomicInteger(), new DoubleAdder());
 			return textEntry;
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectVelocityRenderDecorator.java b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectVelocityRenderDecorator.java
index d95fc58e03929cb74e0f9e64a0f0612bac436005..05fab18a3c34a9d0e3572606e5d53344904c7e22 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectVelocityRenderDecorator.java
+++ b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectVelocityRenderDecorator.java
@@ -603,7 +603,9 @@ public class AssessmentObjectVelocityRenderDecorator extends VelocityRenderDecor
 	}
 	
 	public Boolean isCorrectTextEntry(TextEntryInteraction textEntry) {
-		if(textEntry == null) return null;
+		if(textEntry == null) {
+			return null;
+		}
 		
 		Value val = getResponseValue(textEntry.getResponseIdentifier());
 		if(val == null) {
@@ -612,6 +614,9 @@ public class AssessmentObjectVelocityRenderDecorator extends VelocityRenderDecor
 		
 		String stringuifiedResponses = toString(val);
 		AbstractEntry correctAnswers = CorrectResponsesUtil.getCorrectTextResponses(assessmentItem, textEntry);
+		if(correctAnswers == null) {
+			return null;
+		}
 		stringuifiedResponses = CorrectResponsesUtil.stripResponse(stringuifiedResponses);
 		boolean correct = correctAnswers.match(stringuifiedResponses);
 		return Boolean.valueOf(correct);
diff --git a/src/main/java/org/olat/modules/fo/ui/MessageListController.java b/src/main/java/org/olat/modules/fo/ui/MessageListController.java
index fb34f94567bda9b7e29ceeb7931bd5285fc46258..17b975fb7935c97fba789f53c73f9b4bab337d66 100644
--- a/src/main/java/org/olat/modules/fo/ui/MessageListController.java
+++ b/src/main/java/org/olat/modules/fo/ui/MessageListController.java
@@ -608,9 +608,13 @@ public class MessageListController extends BasicController implements GenericEve
 		
 		// message attachments
 		VFSContainer msgContainer = forumManager.getMessageContainer(forum.getKey(), m.getKey());
-		messageView.setMessageContainer(msgContainer);
-		List<VFSItem> attachments = new ArrayList<>(msgContainer.getItems(new VFSItemMetaFilter()));				
-		messageView.setAttachments(attachments);
+		if(msgContainer != null) {
+			messageView.setMessageContainer(msgContainer);
+			List<VFSItem> attachments = new ArrayList<>(msgContainer.getItems(new VFSItemMetaFilter()));				
+			messageView.setAttachments(attachments);
+		} else {
+			messageView.setAttachments(new ArrayList<>());
+		}
 
 		// number of children and modify/delete permissions
 		int numOfChildren = messageView.getNumOfChildren();