diff --git a/src/main/java/org/olat/ims/qti/statistics/ui/QTI12ItemStatisticsController.java b/src/main/java/org/olat/ims/qti/statistics/ui/QTI12ItemStatisticsController.java
index da2b8878aff1335946d239b8a079649a60b0e1cf..8309a6d96eefbca877ed2a39f77c45d4e432fb01 100644
--- a/src/main/java/org/olat/ims/qti/statistics/ui/QTI12ItemStatisticsController.java
+++ b/src/main/java/org/olat/ims/qti/statistics/ui/QTI12ItemStatisticsController.java
@@ -186,7 +186,7 @@ public class QTI12ItemStatisticsController extends BasicController {
 				.getItemStatistics(item.getIdent(), maxScore, searchParams);
 
 		mainVC.contextPut("solution", item.getQuestion().getSolutionText());
-		mainVC.contextPut("numOfResults", itemStats.getNumOfResults());
+		int numOfResults = itemStats.getNumOfResults();
 		if(!survey) {
 			mainVC.contextPut("maxScore", maxScore);
 		}
@@ -194,10 +194,17 @@ public class QTI12ItemStatisticsController extends BasicController {
 
 		List<String> answers = qtiStatisticsManager.getAnswers(item.getIdent(), searchParams);
 
-		List<String> cleanedAnswers = new ArrayList<String>();
+		List<String> cleanedAnswers = new ArrayList<>();
 		for (String string : answers) {
-			cleanedAnswers.add(stripAnswerText(string));
+			String strippedAnswer = stripAnswerText(string);
+			if(strippedAnswer == null || strippedAnswer.length() == 0) {
+				numOfResults--;
+			} else {
+				cleanedAnswers.add(strippedAnswer);
+			}
 		}
+		
+		mainVC.contextPut("numOfResults", Math.max(0, numOfResults));
 		mainVC.contextPut("studentAnswers", cleanedAnswers);
 	}
 	
diff --git a/src/main/java/org/olat/ims/qti/statistics/ui/SeriesFactory.java b/src/main/java/org/olat/ims/qti/statistics/ui/SeriesFactory.java
index 536cb4c7d01f151688abd804637cb11e027d9996..b6f09ad681d037090a34843535122713cdfedbf5 100644
--- a/src/main/java/org/olat/ims/qti/statistics/ui/SeriesFactory.java
+++ b/src/main/java/org/olat/ims/qti/statistics/ui/SeriesFactory.java
@@ -149,7 +149,11 @@ public class SeriesFactory {
 
 			double rightA;
 			double wrongA;
-			if (points > 0.00001f) {
+			
+			if (survey) {
+				rightA = answersPerAnswerOption;
+				wrongA = 0d;
+			} else if (points > 0.00001f) {
 				rightA = answersPerAnswerOption;
 				wrongA = numOfParticipants - notAnswered - answersPerAnswerOption;
 			} else {