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 fb1293c7ae8871fb4264b7cc9fc38a73450641d0..e0d36e83ee553e6ab547dba8e593129bec7c774a 100644 --- a/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java +++ b/src/main/java/org/olat/ims/qti21/ui/AssessmentTestDisplayController.java @@ -1468,7 +1468,12 @@ public class AssessmentTestDisplayController extends BasicController implements //public CandidateSession endCurrentTestPart(final CandidateSessionContext candidateSessionContext) private void processEndTestPart(UserRequest ureq) { - /* Update state */ + if(testSessionController.getCurrentTestPart() == null && testSessionController.getTestSessionState().isEnded()) { + // try to end an already ended test + return; + } + + /* Update state */ final Date requestTimestamp = ureq.getRequestTimestamp(); testSessionController.endCurrentTestPart(requestTimestamp);