diff --git a/src/main/java/org/olat/ims/qti21/model/xml/interactions/HotspotAssessmentItemBuilder.java b/src/main/java/org/olat/ims/qti21/model/xml/interactions/HotspotAssessmentItemBuilder.java
index 9d8a2452637c25e1f7d1cd588bd2e7be4a17a468..2deb8666a308524f62561ba1de5e2d9b74c3d8ee 100644
--- a/src/main/java/org/olat/ims/qti21/model/xml/interactions/HotspotAssessmentItemBuilder.java
+++ b/src/main/java/org/olat/ims/qti21/model/xml/interactions/HotspotAssessmentItemBuilder.java
@@ -282,6 +282,12 @@ public class HotspotAssessmentItemBuilder extends AssessmentItemBuilder implemen
 		return correctAnswers.contains(choice.getIdentifier());
 	}
 	
+	public void clearCorrectAnswers() {
+		if(correctAnswers != null) {
+			correctAnswers.clear();
+		}
+	}
+	
 	public void setCorrect(HotspotChoice choice, boolean correct) {
 		if(correctAnswers == null) {
 			correctAnswers = new ArrayList<>();
@@ -425,6 +431,7 @@ public class HotspotAssessmentItemBuilder extends AssessmentItemBuilder implemen
 		//add question
 		getHtmlHelper().appendHtml(assessmentItem.getItemBody(), question);
 		
+		
 		//add interaction
 		if(correctAnswers.size() == 1 && cardinality == Cardinality.SINGLE) {
 			hotspotInteraction.setMaxChoices(1);
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/HotspotEditorController.java b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/HotspotEditorController.java
index c58fb62716f9804382547238d89b629ed8bb1e06..4b29a9350d117c41e5f7177d814afa5ee4995d04 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/HotspotEditorController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/HotspotEditorController.java
@@ -375,9 +375,7 @@ public class HotspotEditorController extends FormBasicController {
 			updateHotspots(ureq);
 			updateHotspotsPosition(backgroundSize);
 		} else if(correctHotspotsEl == source) {
-			MultipleSelectionElement correctEl = (MultipleSelectionElement)source;
-			Collection<String> correctResponseIds = correctEl.getSelectedKeys();
-			doCorrectAnswers(correctResponseIds);
+			doCorrectAnswers(correctHotspotsEl.getSelectedKeys());
 			flc.setDirty(true);
 		} else if(layoutEl == source) {
 			updateLayoutCssClass();
@@ -439,6 +437,7 @@ public class HotspotEditorController extends FormBasicController {
 	
 	private void doCorrectAnswers(Collection<String> correctResponseIds) {
 		List<HotspotChoice> choices = itemBuilder.getHotspotChoices();
+		itemBuilder.clearCorrectAnswers();
 		for(int i=0; i<choices.size(); i++) {
 			HotspotChoice choice = choices.get(i);
 			boolean correct = correctResponseIds.contains(choice.getIdentifier().toString());
@@ -514,6 +513,8 @@ public class HotspotEditorController extends FormBasicController {
 			objectImg = initialBackgroundImage;
 		}
 		
+		doCorrectAnswers(correctHotspotsEl.getSelectedKeys());
+		
 		if(cardinalityEl.isOneSelected()) {
 			String selectedCardinality = cardinalityEl.getSelectedKey();
 			itemBuilder.setCardinality(Cardinality.valueOf(selectedCardinality));