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 2ab38b39db4441b0d14a83899ddc9616322c9068..c876c8426aab797231d33a9ebcfe9271cca0bc9d 100644
--- a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java
@@ -1110,6 +1110,9 @@ public class AssessmentTestDisplayController extends BasicController implements
     //        final String candidateComment)       
 	private void handleResponse(UserRequest ureq, Map<Identifier, ResponseInput> stringResponseMap,
 			Map<Identifier, ResponseInput> fileResponseMap, String candidateComment) {
+		if(checkConcurrentExit(ureq)) {
+			return;
+		}
 
 		NotificationRecorder notificationRecorder = new NotificationRecorder(NotificationLevel.INFO);
 		TestSessionState testSessionState = testSessionController.getTestSessionState();
@@ -1254,7 +1257,6 @@ public class AssessmentTestDisplayController extends BasicController implements
         candidateSession = qtiService.updateAssessmentTestSession(candidateSession);
         
         addToHistory(ureq, this);
-        checkConcurrentExit(ureq);
 	}
 	
 	private void collectOutcomeVariablesForItemSession(ItemResult resultNode, AssessmentItemSession itemSession) {