diff --git a/src/main/java/org/olat/ims/qti21/model/xml/interactions/FIBAssessmentItemBuilder.java b/src/main/java/org/olat/ims/qti21/model/xml/interactions/FIBAssessmentItemBuilder.java
index 4945c6351350e71b5df2fe3030a23aa1557763a7..dab8dda47f9df74c821b29c2df4e297ef779adb1 100644
--- a/src/main/java/org/olat/ims/qti21/model/xml/interactions/FIBAssessmentItemBuilder.java
+++ b/src/main/java/org/olat/ims/qti21/model/xml/interactions/FIBAssessmentItemBuilder.java
@@ -37,6 +37,7 @@ import java.util.concurrent.atomic.DoubleAdder;
 
 import javax.xml.transform.stream.StreamResult;
 
+import org.apache.commons.lang.StringEscapeUtils;
 import org.olat.core.gui.render.StringOutput;
 import org.olat.core.logging.OLog;
 import org.olat.core.logging.Tracing;
@@ -201,7 +202,7 @@ public class FIBAssessmentItemBuilder extends AssessmentItemBuilder {
 						String marker = "responseIdentifier=\"" + interaction.getResponseIdentifier().toString() + "\"";
 						question = question.replace(marker, marker + " openolatType=\"string\"");
 						if(StringHelper.containsNonWhitespace(textEntry.getSolution())) {
-							question = question.replace(marker, marker + " data-qti-solution=\"" + StringHelper.escapeHtml(textEntry.getSolution()) + "\"");
+							question = question.replace(marker, marker + " data-qti-solution=\"" + escapeForDataQtiSolution(textEntry.getSolution()) + "\"");
 						}
 						entry = textEntry;
 						
@@ -390,6 +391,14 @@ public class FIBAssessmentItemBuilder extends AssessmentItemBuilder {
 			textEntry.setAlternatives(alternatives);
 		}
 	}
+	
+	public String escapeForDataQtiSolution(String solution) {
+		return StringHelper.escapeHtml(solution).replace("/", "\u2215");
+	}
+	
+	public String unescapeDataQtiSolution(String solution) {
+		return StringEscapeUtils.unescapeHtml(solution).replace("\u2215", "/");
+	}
 
 	@Override
 	public QTI21QuestionType getQuestionType() {
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBEditorController.java b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBEditorController.java
index bfc79d67e54289f854a8d8117bb15ba39615eb60..6e7eef7aaa1baf5e1f2401fe9501c488c0d29bd6 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBEditorController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBEditorController.java
@@ -22,7 +22,6 @@ package org.olat.ims.qti21.ui.editor.interactions;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 
-import org.apache.commons.lang.StringEscapeUtils;
 import org.cyberneko.html.parsers.SAXParser;
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -341,7 +340,7 @@ public class FIBEditorController extends FormBasicController {
 			if("true".equals(solutionEmpty)) {
 				((TextEntry)entry).setSolution("");
 			} else {
-				solution = StringEscapeUtils.unescapeHtml(solution);
+				solution = itemBuilder.unescapeDataQtiSolution(solution);
 				((TextEntry)entry).setSolution(solution);
 			}
 		} else if(entry instanceof NumericalEntry) {
@@ -369,7 +368,7 @@ public class FIBEditorController extends FormBasicController {
 					if("data-qti-solution".equals(name)) {
 						solution = attributes.getValue(i);
 						if(solution != null) {
-							solution = StringEscapeUtils.unescapeHtml(solution);
+							solution = itemBuilder.unescapeDataQtiSolution(solution);
 						}
 					} else if("data-qti-solution-empty".equals(name)) {
 						solutionEmpty = attributes.getValue(i);