diff --git a/src/main/java/de/thm/arsnova/domain/CourseScore.java b/src/main/java/de/thm/arsnova/domain/CourseScore.java
index 1373028512330dcfbef98de082fe4d6e43634b14..54008a2d8b47640f2a4a1ed7e3130a3c7df9e3c2 100644
--- a/src/main/java/de/thm/arsnova/domain/CourseScore.java
+++ b/src/main/java/de/thm/arsnova/domain/CourseScore.java
@@ -23,6 +23,8 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 
+import de.thm.arsnova.entities.User;
+
 public class CourseScore implements Iterable<QuestionScore> {
 
 	private final Map<String, QuestionScore> scores = new HashMap<String, QuestionScore>();
@@ -61,6 +63,14 @@ public class CourseScore implements Iterable<QuestionScore> {
 		return score;
 	}
 
+	public double getTotalUserScore(User user) {
+		int score = 0;
+		for (QuestionScore questionScore : this) {
+			score += questionScore.getTotalUserScore(user);
+		}
+		return score;
+	}
+
 	public int getTotalUserCount() {
 		Set<String> users = new HashSet<String>();
 		for (QuestionScore questionScore : this) {
diff --git a/src/main/java/de/thm/arsnova/domain/PointBasedLearningProgress.java b/src/main/java/de/thm/arsnova/domain/PointBasedLearningProgress.java
index be968bff83b08dd4a97caf20e734aba3121dcf37..c7168bc0c05dee16423a4e4d7a847aae24db3eb2 100644
--- a/src/main/java/de/thm/arsnova/domain/PointBasedLearningProgress.java
+++ b/src/main/java/de/thm/arsnova/domain/PointBasedLearningProgress.java
@@ -56,7 +56,7 @@ public class PointBasedLearningProgress implements LearningProgress {
 		int courseProgress = calculateCourseScore(courseScore);
 
 		final double courseMaximumValue = courseScore.getMaximumScore();
-		final double userTotalValue = courseScore.getTotalUserScore();
+		final double userTotalValue = courseScore.getTotalUserScore(user);
 
 		if (courseMaximumValue == 0) {
 			return new AbstractMap.SimpleEntry<Integer, Integer>(0, courseProgress);
diff --git a/src/main/java/de/thm/arsnova/domain/QuestionScore.java b/src/main/java/de/thm/arsnova/domain/QuestionScore.java
index 3aceb3e97b79a7351cdc946569b7a96477f1cdce..4584d509b00e7df5c02756f37e944404891d7f22 100644
--- a/src/main/java/de/thm/arsnova/domain/QuestionScore.java
+++ b/src/main/java/de/thm/arsnova/domain/QuestionScore.java
@@ -22,6 +22,8 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
+import de.thm.arsnova.entities.User;
+
 public class QuestionScore implements Iterable<UserScore> {
 
 	private String questionId;
@@ -56,6 +58,16 @@ public class QuestionScore implements Iterable<UserScore> {
 		return totalScore;
 	}
 
+	public int getTotalUserScore(User user) {
+		int totalScore = 0;
+		for (UserScore score : userScores) {
+			if (score.isUser(user)) {
+				totalScore += score.getScore();
+			}
+		}
+		return totalScore;
+	}
+
 	public int getUserCount() {
 		return userScores.size();
 	}