diff --git a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java
index 471a4f3e81e6715ccf38d370ef2ba9861687449a..cbf91dab3bfa9223d158f0fd5e5a8ecf4adfe40f 100644
--- a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java
+++ b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java
@@ -370,7 +370,7 @@ public class QTI21AssessmentRunController extends BasicController implements Gen
 		if (ureq != null) {
 			allChats = ureq.getUserSession().getChats();
 		}
-		if (allChats == null || allChats.size() == 0) {
+		if (allChats == null || allChats.isEmpty()) {
 			startButton.setEnabled (true);
 			mainVC.contextPut("hasChatWindowOpen", false);
 		} else {
@@ -522,10 +522,12 @@ public class QTI21AssessmentRunController extends BasicController implements Gen
 					if(!displayCtrl.isResultsVisible()) {
 						doExitAssessment(ureq, event, true);
 						initAssessment(ureq);
+						fireEvent(ureq, Event.CHANGED_EVENT);
 					}
 				} else if(QTI21Event.CLOSE_RESULTS.equals(qe.getCommand())) {
 					doExitAssessment(ureq, event, true);
 					initAssessment(ureq);
+					fireEvent(ureq, Event.CHANGED_EVENT);
 				}
 			}
 		}
diff --git a/src/main/java/org/olat/course/run/RunMainController.java b/src/main/java/org/olat/course/run/RunMainController.java
index 4a69f27582e4e280028c34745dbb162093537d1e..6705c352da43ba5d46619056f1a579637f4c5237 100644
--- a/src/main/java/org/olat/course/run/RunMainController.java
+++ b/src/main/java/org/olat/course/run/RunMainController.java
@@ -876,8 +876,8 @@ public class RunMainController extends MainLayoutBasicController implements Gene
 				if(entries.size() > 1) {
 					entries = entries.subList(1, entries.size());
 				}
-				updateTreeAndContent(ureq, cn, null, entries, firstEntry.getTransientState());
-			} else if (currentCourseNode.equals(cn)) {
+				currentCourseNode = updateTreeAndContent(ureq, cn, null, entries, firstEntry.getTransientState());
+			} else {
 				// consume our entry
 				if(entries.size() > 1) {
 					entries = entries.subList(1, entries.size());