diff --git a/src/main/java/org/olat/ims/qti/repository/handlers/QTISurveyHandler.java b/src/main/java/org/olat/ims/qti/repository/handlers/QTISurveyHandler.java
index fe80a809f27f21c9f843e8a427361f1762032aff..93da79a5da1f461d3c3399e5f072f1b54979a623 100644
--- a/src/main/java/org/olat/ims/qti/repository/handlers/QTISurveyHandler.java
+++ b/src/main/java/org/olat/ims/qti/repository/handlers/QTISurveyHandler.java
@@ -45,7 +45,6 @@ import org.olat.core.id.Organisation;
 import org.olat.core.id.Roles;
 import org.olat.core.logging.AssertException;
 import org.olat.core.util.Util;
-import org.olat.course.assessment.AssessmentMode;
 import org.olat.course.assessment.manager.UserCourseInformationsManager;
 import org.olat.course.nodes.iq.IQEditController;
 import org.olat.course.nodes.iq.QTIResourceTypeModule;
@@ -64,7 +63,6 @@ import org.olat.modules.iq.IQSecurityCallback;
 import org.olat.repository.RepositoryEntry;
 import org.olat.repository.handlers.EditionSupport;
 import org.olat.repository.model.RepositoryEntrySecurity;
-import org.olat.repository.ui.RepositoryEntryRuntimeController.RuntimeControllerCreator;
 import org.olat.resource.OLATResource;
 import org.olat.resource.references.Reference;
 import org.olat.resource.references.ReferenceManager;
@@ -165,25 +163,21 @@ public class QTISurveyHandler extends QTIHandler {
 	@Override
 	public MainLayoutController createLaunchController(RepositoryEntry re, RepositoryEntrySecurity reSecurity, UserRequest ureq, WindowControl wControl) {
 		return new QTIRuntimeController(ureq, wControl, re, reSecurity,
-			new RuntimeControllerCreator() {
-				@Override
-				public Controller create(UserRequest uureq, WindowControl wwControl, TooledStackedPanel toolbarPanel,
-						RepositoryEntry entry, RepositoryEntrySecurity security, AssessmentMode assessmentMode) {
-					Controller runController;
-					OLATResource res = entry.getOlatResource();
-					CoreSpringFactory.getImpl(UserCourseInformationsManager.class)
-						.updateUserCourseInformations(entry.getOlatResource(), uureq.getIdentity());
-					if (QTIResourceTypeModule.isOnyxTest(res)) {
-						Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale());
-						runController = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx"));
-					} else {
-						Resolver resolver = new ImsRepositoryResolver(entry);
-						IQSecurityCallback secCallback = new IQPreviewSecurityCallback();
-						runController = CoreSpringFactory.getImpl(IQManager.class)
-								.createIQDisplayController(res, resolver, AssessmentInstance.QMD_ENTRY_TYPE_SURVEY, secCallback, uureq, wwControl);
-					}
-					return runController;
+			(uureq, wwControl, toolbarPanel, entry, security, assessmentMode) -> {
+				Controller runController;
+				OLATResource res = entry.getOlatResource();
+				CoreSpringFactory.getImpl(UserCourseInformationsManager.class)
+					.updateUserCourseInformations(entry.getOlatResource(), uureq.getIdentity());
+				if (QTIResourceTypeModule.isOnyxTest(res)) {
+					Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale());
+					runController = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx"));
+				} else {
+					Resolver resolver = new ImsRepositoryResolver(entry);
+					IQSecurityCallback secCallback = new IQPreviewSecurityCallback();
+					runController = CoreSpringFactory.getImpl(IQManager.class)
+							.createIQDisplayController(res, resolver, AssessmentInstance.QMD_ENTRY_TYPE_SURVEY, secCallback, uureq, wwControl);
 				}
+				return runController;
 		});
 	}
 
diff --git a/src/main/java/org/olat/ims/qti/repository/handlers/QTITestHandler.java b/src/main/java/org/olat/ims/qti/repository/handlers/QTITestHandler.java
index cf5c7c4eac00727540e00219c9095aa0846bb8e2..03982d2c206acf0d90c5751c1a5e14f3f3096883 100644
--- a/src/main/java/org/olat/ims/qti/repository/handlers/QTITestHandler.java
+++ b/src/main/java/org/olat/ims/qti/repository/handlers/QTITestHandler.java
@@ -45,7 +45,6 @@ import org.olat.core.id.Organisation;
 import org.olat.core.id.Roles;
 import org.olat.core.logging.AssertException;
 import org.olat.core.util.Util;
-import org.olat.course.assessment.AssessmentMode;
 import org.olat.course.assessment.manager.UserCourseInformationsManager;
 import org.olat.course.nodes.iq.IQEditController;
 import org.olat.course.nodes.iq.QTIResourceTypeModule;
@@ -64,7 +63,6 @@ import org.olat.modules.iq.IQSecurityCallback;
 import org.olat.repository.RepositoryEntry;
 import org.olat.repository.handlers.EditionSupport;
 import org.olat.repository.model.RepositoryEntrySecurity;
-import org.olat.repository.ui.RepositoryEntryRuntimeController.RuntimeControllerCreator;
 import org.olat.resource.OLATResource;
 import org.olat.resource.references.Reference;
 import org.olat.resource.references.ReferenceManager;
@@ -166,26 +164,22 @@ public class QTITestHandler extends QTIHandler {
 	@Override
 	public MainLayoutController createLaunchController(RepositoryEntry re, RepositoryEntrySecurity reSecurity, UserRequest ureq, WindowControl wControl) {
 		return new QTIRuntimeController(ureq, wControl, re, reSecurity,
-			new RuntimeControllerCreator() {
-				@Override
-				public Controller create(UserRequest uureq, WindowControl wwControl, TooledStackedPanel toolbarPanel,
-						RepositoryEntry entry, RepositoryEntrySecurity security, AssessmentMode assessmentMode) {
-					Controller runController;
-					OLATResource res = entry.getOlatResource();
-					CoreSpringFactory.getImpl(UserCourseInformationsManager.class)
-						.updateUserCourseInformations(entry.getOlatResource(), uureq.getIdentity());
-					if (QTIResourceTypeModule.isOnyxTest(res)) {
-						Translator trans = Util.createPackageTranslator(IQEditController.class, ureq.getLocale());
-						runController = MessageUIFactory.createInfoMessage(ureq, wControl, "", trans.translate("error.onyx"));
-					} else {
-						Resolver resolver = new ImsRepositoryResolver(entry);
-						IQSecurityCallback secCallback = new IQPreviewSecurityCallback();
-						runController = CoreSpringFactory.getImpl(IQManager.class)
-							.createIQDisplayController(res, resolver, AssessmentInstance.QMD_ENTRY_TYPE_SELF, secCallback, uureq, wwControl);
-					}
-					return runController;
+			(uureq, wwControl, toolbarPanel, entry, security, assessmentMode) -> {
+				Controller runController;
+				OLATResource res = entry.getOlatResource();
+				CoreSpringFactory.getImpl(UserCourseInformationsManager.class)
+					.updateUserCourseInformations(entry.getOlatResource(), uureq.getIdentity());
+				if (QTIResourceTypeModule.isOnyxTest(res)) {
+					Translator trans = Util.createPackageTranslator(IQEditController.class, uureq.getLocale());
+					runController = MessageUIFactory.createInfoMessage(uureq, wwControl, "", trans.translate("error.onyx"));
+				} else {
+					Resolver resolver = new ImsRepositoryResolver(entry);
+					IQSecurityCallback secCallback = new IQPreviewSecurityCallback();
+					runController = CoreSpringFactory.getImpl(IQManager.class)
+						.createIQDisplayController(res, resolver, AssessmentInstance.QMD_ENTRY_TYPE_SELF, secCallback, uureq, wwControl);
 				}
-			});
+				return runController;
+		});
 	}
 
 	@Override