diff --git a/src/main/java/de/thm/arsnova/domain/CourseScore.java b/src/main/java/de/thm/arsnova/domain/CourseScore.java
index f57e5629d4de93fb69c1ffb319c068f7afd0f809..a5ab28b6128385377608a66be45f5f2d49ccc7e2 100644
--- a/src/main/java/de/thm/arsnova/domain/CourseScore.java
+++ b/src/main/java/de/thm/arsnova/domain/CourseScore.java
@@ -30,6 +30,9 @@ public class CourseScore implements Iterable<QuestionScore> {
 	private final Map<String, QuestionScore> scores = new HashMap<String, QuestionScore>();
 
 	public void add(String questionId, int questionScore) {
+		if (questionScore == 0) {
+			return;
+		}
 		scores.put(questionId, new QuestionScore(questionId, questionScore));
 	}
 
diff --git a/src/test/java/de/thm/arsnova/domain/QuestionBasedLearningProgressTest.java b/src/test/java/de/thm/arsnova/domain/QuestionBasedLearningProgressTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..941d50c98875957cc873b8a4a0dae18e68699f3b
--- /dev/null
+++ b/src/test/java/de/thm/arsnova/domain/QuestionBasedLearningProgressTest.java
@@ -0,0 +1,74 @@
+/*
+ * This file is part of ARSnova Backend.
+ * Copyright (C) 2012-2015 The ARSnova Team
+ *
+ * ARSnova Backend is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * ARSnova Backend is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package de.thm.arsnova.domain;
+
+import static org.mockito.Mockito.*;
+import static org.junit.Assert.*;
+
+import java.util.AbstractMap.SimpleEntry;
+
+import org.junit.Test;
+
+import de.thm.arsnova.dao.IDatabaseDao;
+import de.thm.arsnova.entities.TestUser;
+import de.thm.arsnova.entities.User;
+
+public class QuestionBasedLearningProgressTest {
+
+	/**
+	 * Questions without "correct" answers should have a value of zero
+	 */
+	@Test
+	public void shouldIgnoreQuestionsWithoutCorrectAnswers() {
+		final int questionMaxValue = 0;
+		final int userScore = 0;
+		User user = new TestUser("username");
+		CourseScore courseScore = new CourseScore();
+		courseScore.add("question-id", questionMaxValue);
+		courseScore.add("question-id", user.getUsername(), userScore);
+
+		IDatabaseDao db = mock(IDatabaseDao.class);
+		when(db.getLearningProgress(null)).thenReturn(courseScore);
+		LearningProgress lp = new QuestionBasedLearningProgress(db);
+
+		SimpleEntry<Integer, Integer> expected = new SimpleEntry<Integer, Integer>(0, 0);
+		SimpleEntry<Integer, Integer> actual = lp.getMyProgress(null, user);
+
+		assertEquals(expected, actual);
+	}
+
+	@Test
+	public void shouldIgnoreQuestionsWithoutCorrectAnswersInQuestionCount() {
+		User user = new TestUser("username");
+		CourseScore courseScore = new CourseScore();
+		courseScore.add("question-without-correct-answers", 0);
+		courseScore.add("question-with-correct-answers", 50);
+		courseScore.add("question-without-correct-answers", user.getUsername(), 0);
+		courseScore.add("question-with-correct-answers", user.getUsername(), 50);
+
+		IDatabaseDao db = mock(IDatabaseDao.class);
+		when(db.getLearningProgress(null)).thenReturn(courseScore);
+		LearningProgress lp = new QuestionBasedLearningProgress(db);
+
+		SimpleEntry<Integer, Integer> expected = new SimpleEntry<Integer, Integer>(100, 100);
+		SimpleEntry<Integer, Integer> actual = lp.getMyProgress(null, user);
+
+		assertEquals(expected, actual);
+	}
+
+}
diff --git a/src/test/java/de/thm/arsnova/domain/package-info.java b/src/test/java/de/thm/arsnova/domain/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..375154f331521f8a400d59988c228ae7ad8512f5
--- /dev/null
+++ b/src/test/java/de/thm/arsnova/domain/package-info.java
@@ -0,0 +1,18 @@
+/*
+ * This file is part of ARSnova Backend.
+ * Copyright (C) 2012-2015 The ARSnova Team
+ *
+ * ARSnova Backend is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * ARSnova Backend is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package de.thm.arsnova.domain;
\ No newline at end of file
diff --git a/src/test/java/de/thm/arsnova/entities/TestUser.java b/src/test/java/de/thm/arsnova/entities/TestUser.java
new file mode 100644
index 0000000000000000000000000000000000000000..ffacb933527e3e1f5404f54fd05564a49e0d8f2e
--- /dev/null
+++ b/src/test/java/de/thm/arsnova/entities/TestUser.java
@@ -0,0 +1,28 @@
+/*
+ * This file is part of ARSnova Backend.
+ * Copyright (C) 2012-2015 The ARSnova Team
+ *
+ * ARSnova Backend is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * ARSnova Backend is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package de.thm.arsnova.entities;
+
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+
+public class TestUser extends User {
+	private static final long serialVersionUID = 1L;
+
+	public TestUser(String username) {
+		super( new UsernamePasswordAuthenticationToken(username, "secret") );
+	}
+}
\ No newline at end of file
diff --git a/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java b/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java
index f5af00e4f1606a4424556da200f0e7d0708e73a1..a7ba86f74b47a7f948eeea0cc1efd44314179742 100644
--- a/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java
+++ b/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java
@@ -26,13 +26,12 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import de.thm.arsnova.dao.StubDatabaseDao;
-import de.thm.arsnova.entities.User;
+import de.thm.arsnova.entities.TestUser;
 import de.thm.arsnova.exceptions.NoContentException;
 import de.thm.arsnova.exceptions.NotFoundException;
 
@@ -163,12 +162,4 @@ public class FeedbackServiceTest {
 		userService.setUserAuthenticated(true);
 		assertEquals(2.1904, feedbackService.getAverageFeedback("18273645"), 0.001);
 	}
-
-	public static class TestUser extends User {
-		private static final long serialVersionUID = 1L;
-
-		public TestUser(String username) {
-			super( new UsernamePasswordAuthenticationToken(username, "secret") );
-		}
-	}
 }
\ No newline at end of file