diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 2f43cad0bedc5a55dd295dd8215cb00b843b46e2..fd1affb0fd2dd8e299c71c8cbad1d41638c1045f 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -1491,7 +1491,7 @@ public class CouchDBDao implements IDatabaseDao {
 		}
 		final double courseAverageValue = userTotalValue / numUsers;
 		final double courseProgress = courseAverageValue / courseMaximumValue;
-		return (int)Math.round(courseProgress * 100);
+		return (int)Math.min(100, Math.round(courseProgress * 100));
 	}
 
 	@Override
@@ -1517,8 +1517,9 @@ public class CouchDBDao implements IDatabaseDao {
 			return new AbstractMap.SimpleEntry<Integer, Integer>(0, courseProgress);
 		}
 		final double myProgress = userTotalValue / courseMaximumValue;
+		final int myLearningProgress = (int)Math.min(100, Math.round(myProgress*100));
 
-		return new AbstractMap.SimpleEntry<Integer, Integer>((int)Math.round(myProgress*100), courseProgress);
+		return new AbstractMap.SimpleEntry<Integer, Integer>(myLearningProgress, courseProgress);
 	}
 
 	@Override