diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/MatchEditorController.java b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/MatchEditorController.java
index 6ba0c917d6037ebde1c1689adb0815a0c5f367de..804f923df429acb124d542910ab424da9e9b5180 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/MatchEditorController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/MatchEditorController.java
@@ -202,27 +202,34 @@ public class MatchEditorController extends FormBasicController {
 		if(singleMultiEl.isOneSelected() && singleMultiEl.isSelected(0)) {
 			Map<String,String> sourseTargetMap = new HashMap<>();
 			String[] directedPairsIds = ureq.getHttpReq().getParameterValues("qtiworks_response_" + itemBuilder.getResponseIdentifier());
-			for(String directedPairIds: directedPairsIds) {
-				String[] pairs = directedPairIds.split(" ");
-				String sourceId = pairs[0];
-				String targetId = pairs[1];
-				if(sourseTargetMap.containsKey(sourceId)) {
-					for(MatchWrapper sourceWrapper:sourceWrappers) {
-						if(sourceId.equals(sourceWrapper.getIdentifierString())) {
-							sourceWrapper.setErrorSingleChoice(true);
+			if(directedPairsIds == null || directedPairsIds.length == 0) {
+				for(MatchWrapper sourceWrapper:sourceWrappers) {
+					sourceWrapper.setErrorSingleChoice(true);
+					allOk &= false;
+				}
+			} else {
+				for(String directedPairIds: directedPairsIds) {
+					String[] pairs = directedPairIds.split(" ");
+					String sourceId = pairs[0];
+					String targetId = pairs[1];
+					if(sourseTargetMap.containsKey(sourceId)) {
+						for(MatchWrapper sourceWrapper:sourceWrappers) {
+							if(sourceId.equals(sourceWrapper.getIdentifierString())) {
+								sourceWrapper.setErrorSingleChoice(true);
+							}
 						}
+						allOk &= false;
+					} else {
+						sourseTargetMap.put(sourceId, targetId);
 					}
-					allOk &= false;
-				} else {
-					sourseTargetMap.put(sourceId, targetId);
 				}
-			}
-
-			for(MatchWrapper sourceWrapper:sourceWrappers) {
-				String sourceId = sourceWrapper.getIdentifierString();
-				if(!sourseTargetMap.containsKey(sourceId)) {
-					sourceWrapper.setErrorSingleChoice(true);
-					allOk &= false;
+	
+				for(MatchWrapper sourceWrapper:sourceWrappers) {
+					String sourceId = sourceWrapper.getIdentifierString();
+					if(!sourseTargetMap.containsKey(sourceId)) {
+						sourceWrapper.setErrorSingleChoice(true);
+						allOk &= false;
+					}
 				}
 			}
 		}