diff --git a/src/main/java/org/olat/course/run/scoring/AverageCompletionEvaluator.java b/src/main/java/org/olat/course/run/scoring/AverageCompletionEvaluator.java
index 3a996d3c9332535f8250cc279c14db879054cd17..bd56c32895314ba5524088e0ea44db30c4a7047d 100644
--- a/src/main/java/org/olat/course/run/scoring/AverageCompletionEvaluator.java
+++ b/src/main/java/org/olat/course/run/scoring/AverageCompletionEvaluator.java
@@ -76,7 +76,9 @@ public class AverageCompletionEvaluator implements CompletionEvaluator {
 				AssessmentConfig assessmentConfig = courseAssessmentService.getAssessmentConfig(child);
 				int nodeCount = 0;
 				double nodeCompletion = 0.0;
-				if (isFullyAssessed(assessmentEvaluation)) {
+				if (Mode.evaluated.equals(assessmentConfig.getCompletionMode())) {
+					continue; // do not count twice
+				} else if (isFullyAssessed(assessmentEvaluation)) {
 					nodeCount = 1;
 					nodeCompletion = 1.0;
 				} else if (Mode.setByNode.equals(assessmentConfig.getCompletionMode())) {
diff --git a/src/test/java/org/olat/course/run/scoring/AverageCompletionEvaluatorTest.java b/src/test/java/org/olat/course/run/scoring/AverageCompletionEvaluatorTest.java
index 47b6c0d0971afe8cd65e46f48eef02b06f18b40f..ca4405a5a0e7f21211395b3df1f01578b179a01b 100644
--- a/src/test/java/org/olat/course/run/scoring/AverageCompletionEvaluatorTest.java
+++ b/src/test/java/org/olat/course/run/scoring/AverageCompletionEvaluatorTest.java
@@ -92,10 +92,16 @@ public class AverageCompletionEvaluatorTest {
 		AssessmentEvaluation childCalculatedEvaluation = createAssessmentEvaluation(mandatory, null, Double.valueOf(0.1), null, null);
 		scoreAccounting.put(childCalculated, childCalculatedEvaluation);
 		when(courseAssessmentService.getAssessmentConfig(childCalculated)).thenReturn(configEvaluated);
+		// Child: Calculated, fully assessed
+		CourseNode childCalculated2 = new STCourseNode();
+		parent.addChild(childCalculated2);
+		AssessmentEvaluation childCalculatedEvaluation2 = createAssessmentEvaluation(mandatory, null, Double.valueOf(0.1), null, Boolean.TRUE);
+		scoreAccounting.put(childCalculated2, childCalculatedEvaluation2);
+		when(courseAssessmentService.getAssessmentConfig(childCalculated2)).thenReturn(configEvaluated);
 		
 		// Child level 2: calculated
 		CourseNode child2Uncalculated = new SPCourseNode();
-		childCalculated.addChild(child2Uncalculated);
+		childCalculated2.addChild(child2Uncalculated);
 		AssessmentEvaluation child2UncalculatedEvaluation = createAssessmentEvaluation(mandatory, null, Double.valueOf(1.0), null, null);
 		scoreAccounting.put(child2Uncalculated, child2UncalculatedEvaluation);
 		when(courseAssessmentService.getAssessmentConfig(child2Uncalculated)).thenReturn(configSetByNode);