diff --git a/src/main/java/nl/tudelft/submit/service/GradeService.java b/src/main/java/nl/tudelft/submit/service/GradeService.java
index f9baf35414b6f2c852aaaae0382c79dc39a4e559..30e2c018d59bf3e6b1fee0ba4568f49b38c95243 100644
--- a/src/main/java/nl/tudelft/submit/service/GradeService.java
+++ b/src/main/java/nl/tudelft/submit/service/GradeService.java
@@ -766,15 +766,11 @@ public class GradeService {
 	 * @param submissionId The id of the submission
 	 */
 	public void removeHighestGrade(Long submissionId) {
-		submissionCache.getOrThrow(submissionId).getGrades().stream()
-				.max(Comparator.comparingInt(GradeSummaryDTO::getScore))
-				.map(g -> feedbackRepository.findAllByGradeId(g.getId()))
-				.orElse(Collections.emptyList())
-				.forEach(f -> {
-					f.setGradeId(null);
-					feedbackRepository.save(f);
-				});
-		gradeApi.removeHighestGrade(submissionId).block();
+		Long removed = gradeApi.removeHighestGrade(submissionId).block();
+		feedbackRepository.findAllByGradeId(removed).forEach(f -> {
+			f.setGradeId(null);
+			feedbackRepository.save(f);
+		});
 	}
 
 	/**