diff --git a/src/main/java/org/olat/ims/qti21/manager/AssessmentTestPreWarm.java b/src/main/java/org/olat/ims/qti21/manager/AssessmentTestPreWarm.java
new file mode 100644
index 0000000000000000000000000000000000000000..b882a301da4b3c26a3fc473a5899af31c55591c5
--- /dev/null
+++ b/src/main/java/org/olat/ims/qti21/manager/AssessmentTestPreWarm.java
@@ -0,0 +1,50 @@
+package org.olat.ims.qti21.manager;
+
+import java.io.File;
+import java.util.List;
+
+import org.olat.core.configuration.PreWarm;
+import org.olat.core.logging.OLog;
+import org.olat.core.logging.Tracing;
+import org.olat.core.util.CodeHelper;
+import org.olat.fileresource.FileResourceManager;
+import org.olat.fileresource.types.ImsQTI21Resource;
+import org.olat.ims.qti21.QTI21Service;
+import org.olat.repository.RepositoryEntry;
+import org.olat.repository.manager.RepositoryEntryDAO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 
+ * Initial date: 18.02.2016<br>
+ * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com
+ *
+ */
+@Service
+public class AssessmentTestPreWarm implements PreWarm {
+	
+	private static final OLog log = Tracing.createLoggerFor(AssessmentTestPreWarm.class);
+
+	@Autowired
+	private QTI21Service qtiService;
+	@Autowired
+	private RepositoryEntryDAO repositoryEntryDao;
+	
+	@Override
+	public void run() {
+		long start = System.nanoTime();
+		FileResourceManager frm = FileResourceManager.getInstance();
+		List<RepositoryEntry> entries = repositoryEntryDao
+				.getLastUsedRepositoryEntries(ImsQTI21Resource.TYPE_NAME, 0, 20);
+		for(RepositoryEntry entry:entries) {
+			try {
+				File fUnzippedDirRoot = frm.unzipFileResource(entry.getOlatResource());
+				qtiService.loadAndResolveAssessmentTest(fUnzippedDirRoot);
+			} catch (RuntimeException e) {
+				log.error("Loading the AssessmentTest of repository entry: " + entry.getKey() + " (" + entry.getDisplayname() + ")", e);
+			}
+		}
+		log.info(entries.size() + " AssessmentTest preloaded in (ms): " + CodeHelper.nanoToMilliTime(start));
+	}
+}