diff --git a/src/main/java/org/olat/ims/qti21/ui/AssessmentEntryOutcomesListener.java b/src/main/java/org/olat/ims/qti21/ui/AssessmentEntryOutcomesListener.java
index 93ecfed65f55e410543ce675469107aef7fa10b5..0a7bd1e8fe0c2b534223b3dbad45b5c197d16e33 100644
--- a/src/main/java/org/olat/ims/qti21/ui/AssessmentEntryOutcomesListener.java
+++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentEntryOutcomesListener.java
@@ -51,14 +51,20 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener {
 	private AssessmentEntry assessmentEntry;
 	private final AssessmentService assessmentService;
 	
+	private final RepositoryEntry entry;
+	private final RepositoryEntry testEntry;
+	
 	private final boolean authorMode;
 	private final boolean needManualCorrection;
 
 	private AtomicBoolean start = new AtomicBoolean(true);
 	private AtomicBoolean close = new AtomicBoolean(true);
 	
-	public AssessmentEntryOutcomesListener(AssessmentEntry assessmentEntry, boolean needManualCorrection,
+	public AssessmentEntryOutcomesListener(RepositoryEntry entry, RepositoryEntry testEntry,
+			AssessmentEntry assessmentEntry, boolean needManualCorrection,
 			AssessmentService assessmentService, boolean authorMode) {
+		this.entry = entry;
+		this.testEntry = testEntry;
 		this.assessmentEntry = assessmentEntry;
 		this.assessmentService = assessmentService;
 		this.authorMode = authorMode;
@@ -67,10 +73,11 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener {
 
 	@Override
 	public void decorateConfirmation(AssessmentTestSession candidateSession, DigitalSignatureOptions options, Date timestamp, Locale locale) {
-		decorateResourceConfirmation(candidateSession, options, timestamp, locale);
+		decorateResourceConfirmation(entry, testEntry, candidateSession, options, timestamp, locale);
 	}
 	
-	public static void decorateResourceConfirmation(AssessmentTestSession candidateSession, DigitalSignatureOptions options, Date timestamp, Locale locale) {
+	public static void decorateResourceConfirmation(RepositoryEntry entry, RepositoryEntry testEntry, AssessmentTestSession candidateSession,
+			DigitalSignatureOptions options, Date timestamp, Locale locale) {
 		MailBundle bundle = new MailBundle();
 		bundle.setToId(candidateSession.getIdentity());
 		String fullname = CoreSpringFactory.getImpl(UserManager.class).getUserDisplayName(candidateSession.getIdentity());
@@ -78,8 +85,6 @@ public class AssessmentEntryOutcomesListener implements OutcomesListener {
 
 		
 		Translator translator = Util.createPackageTranslator(QTI21RuntimeController.class, locale);
-		RepositoryEntry entry = candidateSession.getRepositoryEntry();
-		RepositoryEntry testEntry = candidateSession.getTestEntry();
 		String[] args = new String[] {
 				entry.getDisplayname(),		// {0}
 				entry.getKey().toString(),	// {1}
diff --git a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java
index 1d49aa9a32a03b0cd3148761f360bea51565ba9f..4c57f68c40a58beea305d16206e5a69f63f85b73 100644
--- a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java
@@ -310,7 +310,7 @@ public class AssessmentTestDisplayController extends BasicController implements
 		AssessmentEntry assessmentEntry = assessmentService.getOrCreateAssessmentEntry(assessedIdentity, anonymousIdentifier, entry, subIdent, testEntry);
 		if(outcomesListener == null) {
 			boolean manualCorrections = AssessmentTestHelper.needManualCorrection(resolvedAssessmentTest);
-			outcomesListener = new AssessmentEntryOutcomesListener(assessmentEntry, manualCorrections, assessmentService, authorMode);
+			outcomesListener = new AssessmentEntryOutcomesListener(entry, testEntry, assessmentEntry, manualCorrections, assessmentService, authorMode);
 		}
 
 		AssessmentTestSession lastSession = qtiService.getResumableAssessmentTestSession(assessedIdentity, anonymousIdentifier, entry, subIdent, testEntry, authorMode);
diff --git a/src/main/java/org/olat/ims/qti21/ui/QTI21AssessmentDetailsController.java b/src/main/java/org/olat/ims/qti21/ui/QTI21AssessmentDetailsController.java
index 00dbae274541982eaabf3f69e9d9d72bed8e60c7..6cbf6f56dc01a635354553e7302ac3b30945c444 100644
--- a/src/main/java/org/olat/ims/qti21/ui/QTI21AssessmentDetailsController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/QTI21AssessmentDetailsController.java
@@ -434,7 +434,7 @@ public class QTI21AssessmentDetailsController extends FormBasicController {
 		DigitalSignatureOptions options = new DigitalSignatureOptions(digitalSignature, sendMail, entry, testEntry);
 		if(digitalSignature) {
 			if(courseNode == null) {
-				 AssessmentEntryOutcomesListener.decorateResourceConfirmation(session, options, null, getLocale());
+				 AssessmentEntryOutcomesListener.decorateResourceConfirmation(entry, testEntry, session, options, null, getLocale());
 			} else {
 				CourseEnvironment courseEnv = CourseFactory.loadCourse(entry).getCourseEnvironment();
 				QTI21AssessmentRunController.decorateCourseConfirmation(session, options, courseEnv, courseNode, sessionTestEntry, null, getLocale());