diff --git a/src/main/java/org/olat/ims/qti21/pool/QTI21AssessmentItemFactory.java b/src/main/java/org/olat/ims/qti21/pool/QTI21AssessmentItemFactory.java
index 6a0a3de611b3346d0954b04c839dcce14ed139cf..c855f74f68435ce9e9e30fbaade6a3f207d97abc 100644
--- a/src/main/java/org/olat/ims/qti21/pool/QTI21AssessmentItemFactory.java
+++ b/src/main/java/org/olat/ims/qti21/pool/QTI21AssessmentItemFactory.java
@@ -58,6 +58,7 @@ public class QTI21AssessmentItemFactory implements QItemFactory {
 			case upload: return "QTI 2.1 " + trans.translate("new.upload");
 			case drawing: return "QTI 2.1 " + trans.translate("new.drawing");
 			case hotspot: return "QTI 2.1 " + trans.translate("new.hotspot");
+			case hottext: return "QTI 2.1 " + trans.translate("new.hottext");
 			default: return type.name();
 		}
 	}
diff --git a/src/main/java/org/olat/ims/qti21/pool/QTI21QPoolServiceProvider.java b/src/main/java/org/olat/ims/qti21/pool/QTI21QPoolServiceProvider.java
index 992d62beb678688ea6d14463f099c13a5f53095c..859d7fb82d43fd34db5faa8c7c229713c4c95945 100644
--- a/src/main/java/org/olat/ims/qti21/pool/QTI21QPoolServiceProvider.java
+++ b/src/main/java/org/olat/ims/qti21/pool/QTI21QPoolServiceProvider.java
@@ -72,6 +72,7 @@ import org.olat.ims.qti21.model.xml.interactions.EssayAssessmentItemBuilder;
 import org.olat.ims.qti21.model.xml.interactions.FIBAssessmentItemBuilder;
 import org.olat.ims.qti21.model.xml.interactions.FIBAssessmentItemBuilder.EntryType;
 import org.olat.ims.qti21.model.xml.interactions.HotspotAssessmentItemBuilder;
+import org.olat.ims.qti21.model.xml.interactions.HottextAssessmentItemBuilder;
 import org.olat.ims.qti21.model.xml.interactions.KPrimAssessmentItemBuilder;
 import org.olat.ims.qti21.model.xml.interactions.MatchAssessmentItemBuilder;
 import org.olat.ims.qti21.model.xml.interactions.MultipleChoiceAssessmentItemBuilder;
@@ -349,6 +350,7 @@ public class QTI21QPoolServiceProvider implements QPoolSPI {
 			case upload: itemBuilder = new UploadAssessmentItemBuilder(translator.translate("new.upload"), qtiService.qtiSerializer()); break;
 			case drawing: itemBuilder = new DrawingAssessmentItemBuilder(translator.translate("new.drawing"), qtiService.qtiSerializer()); break;
 			case hotspot: itemBuilder = new HotspotAssessmentItemBuilder(translator.translate("new.hotspot"), qtiService.qtiSerializer()); break;
+			case hottext: itemBuilder = new HottextAssessmentItemBuilder(translator.translate("new.hottext"), translator.translate("new.hottext.start"), translator.translate("new.hottext.text"), qtiService.qtiSerializer()); break;
 			default: return null;
 		}