diff --git a/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java b/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java
index 9c53d51a6f27427501fa6deb5f407913e7c93c49..1f37625ad1990448693deb7001653253d7fb5a92 100644
--- a/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java
+++ b/src/main/java/org/olat/ims/qti21/questionimport/CSVToAssessmentItemConverter.java
@@ -55,6 +55,7 @@ public class CSVToAssessmentItemConverter {
 	
 	private static final OLog log = Tracing.createLoggerFor(CSVToAssessmentItemConverter.class);
 
+	private int currentLine;
 	private int kprimPosition = 0;
 	private ImportOptions options;
 	private final QtiSerializer qtiSerializer;
@@ -70,10 +71,16 @@ public class CSVToAssessmentItemConverter {
 		return items;
 	}
 	
+	public int getCurrentLine() {
+		return currentLine;
+	}
+	
 	public void parse(String input) {
 		String[] lines = input.split("\r?\n");
 		
 		for (int i = 0; i<lines.length; i++) {
+			currentLine = i+1;
+			
 			String line = lines[i];
 			if (line.equals("")) {
 				continue;
diff --git a/src/main/java/org/olat/ims/qti21/questionimport/TextInputController.java b/src/main/java/org/olat/ims/qti21/questionimport/TextInputController.java
index 2fed63b45d768f1d1c13687aa54a4fe992ddff88..5faaab251d81625bb19238f3e03588c8cd4f4b5a 100644
--- a/src/main/java/org/olat/ims/qti21/questionimport/TextInputController.java
+++ b/src/main/java/org/olat/ims/qti21/questionimport/TextInputController.java
@@ -51,7 +51,6 @@ public class TextInputController extends StepFormBasicController {
 	private String validatedInp;
 	private TextElement inputElement;
 	
-	private List<AssessmentItemAndMetadata> parsedItems;
 	private final AssessmentItemsPackage importedItems;
 	private final ImportOptions options;
 	
@@ -92,8 +91,18 @@ public class TextInputController extends StepFormBasicController {
 		
 		String inp = inputElement.getValue();
 		if(validatedInp == null || !validatedInp.equals(inp)) {
-			boolean errors = convertInputField();
-			allOk &= !errors;
+			CSVToAssessmentItemConverter converter = new CSVToAssessmentItemConverter(options, qtiService.qtiSerializer());
+			try {
+				converter.parse(inputElement.getValue());
+				List<AssessmentItemAndMetadata> items = converter.getItems();
+				if(items == null || items.isEmpty()) {
+					inputElement.setErrorKey("form.mandatory.hover", null);
+					allOk &= false;
+				}
+			} catch (Exception e) {
+				inputElement.setErrorKey("error.at.line", new String[] { Integer.toString(converter.getCurrentLine()) });
+				allOk &= false;
+			}
 		}
 		
 		return allOk & super.validateFormLogic(ureq);
@@ -101,16 +110,10 @@ public class TextInputController extends StepFormBasicController {
 
 	@Override
 	protected void formOK(UserRequest ureq) {
-		importedItems.setItems(parsedItems);
-		fireEvent(ureq, StepsEvent.ACTIVATE_NEXT);
-	}
-	
-	private boolean convertInputField() {
-		boolean importDataError = false;
 		CSVToAssessmentItemConverter converter = new CSVToAssessmentItemConverter(options, qtiService.qtiSerializer());
 		converter.parse(inputElement.getValue());
-		parsedItems = converter.getItems();
-		return importDataError;
+		importedItems.setItems(converter.getItems());
+		fireEvent(ureq, StepsEvent.ACTIVATE_NEXT);
 	}
 	
 	private static class ExampleMapper implements Mapper {
diff --git a/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_de.properties
index c4bdb8bdc07a426c401ec63d9054b8428bddec7d..7b90d6b01b38bbe0df60c7d5bc924183652195d6 100644
--- a/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_de.properties
@@ -14,3 +14,4 @@ item.type.fib=$org.olat.ims.qti.editor\:item.type.fib
 item.type.kprim=$org.olat.ims.qti.editor\:item.type.kprim
 item.type.mc=$org.olat.ims.qti.editor\:item.type.mc
 item.type.sc=$org.olat.ims.qti.editor\:item.type.sc
+error.at.line=Problem auf Zeile {0}
diff --git a/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_en.properties
index 9dd0dabfd55398edfdba12048bfb8a60acd3c96c..0373ba6cb2117befecbe86577a235b0da089160a 100644
--- a/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/ims/qti21/questionimport/_i18n/LocalStrings_en.properties
@@ -13,4 +13,5 @@ item.type.essay=$org.olat.ims.qti.editor\:item.type.essay
 item.type.fib=$org.olat.ims.qti.editor\:item.type.fib
 item.type.kprim=$org.olat.ims.qti.editor\:item.type.kprim
 item.type.mc=$org.olat.ims.qti.editor\:item.type.mc
-item.type.sc=$org.olat.ims.qti.editor\:item.type.sc
\ No newline at end of file
+item.type.sc=$org.olat.ims.qti.editor\:item.type.sc
+error.at.line=Issue with line {0}
\ No newline at end of file