diff --git a/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java b/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java
index b4928a3723e6e256cc801dcf63d8d19c9a970bc5..f5ff1dba8f3e57aaabc5bd5b65c6f1aa6b59b104 100644
--- a/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java
+++ b/src/main/java/org/olat/course/run/scoring/ScoreAccounting.java
@@ -200,7 +200,11 @@ public class ScoreAccounting {
 						.createAssessmentEntry(cNode, assessedIdentity, se);
 					changes = true;
 				} else if(!same(se, entry)) {
-					entry.setScore(new BigDecimal(score));
+					if(score != null) {
+						entry.setScore(new BigDecimal(score));
+					} else {
+						entry.setScore(null);
+					}
 					entry.setPassed(passed);
 					entry = userCourseEnvironment.getCourseEnvironment().getAssessmentManager().updateAssessmentEntry(entry);
 					identToEntries.put(cNode.getIdent(), entry);
diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java
index 73d113fa88afac2c01dd42f2f0b70754474023e3..4782075fd74f7862009c70db75d27ec78d248940 100644
--- a/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java
+++ b/src/main/java/org/olat/upgrade/OLATUpgrade_11_0_0.java
@@ -256,7 +256,7 @@ public class OLATUpgrade_11_0_0 extends OLATUpgrade {
 			if(!identityKeys.contains(identity.getKey())) {
 				AssessmentEntry entry = createAssessmentEntry(identity, null, course, courseEntry, rootNode.getIdent());
 				if(statement.getScore() != null) {
-					entry.setScore(new BigDecimal(statement.getScore().floatValue()));
+					entry.setScore(new BigDecimal(statement.getScore()));
 				}
 				if(statement.getPassed() != null) {
 					entry.setPassed(statement.getPassed());