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());
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/FeedbacksEditorController.java b/src/main/java/org/olat/ims/qti21/ui/editor/FeedbacksEditorController.java
index 3ec419a9340dbf098b3e60e08c71f2730b2c0802..ffc9d09dcbc2d91e9fee5291b8b37ef2d93bfa74 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/FeedbacksEditorController.java
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/FeedbacksEditorController.java
@@ -51,6 +51,7 @@ import org.olat.ims.qti21.model.xml.ModalFeedbackCondition;
 import org.olat.ims.qti21.model.xml.ResponseIdentifierForFeedback;
 import org.olat.ims.qti21.model.xml.ResponseIdentifierForFeedback.Answer;
 import org.olat.ims.qti21.model.xml.TestFeedbackBuilder;
+import org.olat.ims.qti21.model.xml.interactions.SingleChoiceAssessmentItemBuilder;
 import org.olat.ims.qti21.ui.ResourcesMapper;
 import org.olat.ims.qti21.ui.components.FlowFormItem;
 import org.olat.ims.qti21.ui.editor.events.AssessmentItemEvent;
@@ -120,7 +121,9 @@ public class FeedbacksEditorController extends FormBasicController implements Sy
 		addCorrectSolutionButton.setVisible(enable.isEnabled(ModalFeedbackType.correctSolution));
 		dropdownEl.addElement(addCorrectSolutionButton);
 		
-		addCorrectButton = uifactory.addFormLink("add.correct.feedback", formLayout, Link.LINK);
+		boolean sc = (itemBuilder instanceof SingleChoiceAssessmentItemBuilder);
+		String addCorrectLabel = "add.correct.feedback" + (sc ? ".single" : "");
+		addCorrectButton = uifactory.addFormLink("add.correct.feedback", addCorrectLabel, null, formLayout, Link.LINK);
 		addCorrectButton.setElementCssClass("o_sel_add_correct");
 		addCorrectButton.setVisible(enable.isEnabled(ModalFeedbackType.correct));
 		dropdownEl.addElement(addCorrectButton);
@@ -321,7 +324,12 @@ public class FeedbacksEditorController extends FormBasicController implements Sy
 			formLayout = FormLayoutContainer.createDefaultFormLayout_2_10(feedbackType.name(), getTranslator());
 			parentFormLayout.add(formLayout);
 			formLayout.setRootForm(mainForm);
-			formLayout.setFormTitle(translate("form.imd." + feedbackType.name() + ".text"));
+			
+			String formTitle = "form.imd." + feedbackType.name();
+			if(feedbackType == ModalFeedbackType.correct && itemBuilder instanceof SingleChoiceAssessmentItemBuilder) {
+				formTitle += ".single";
+			}
+			formLayout.setFormTitle(translate(formTitle + ".text"));
 			
 			String title = feedbackBuilder == null ? "" : feedbackBuilder.getTitle();
 			titleEl = uifactory.addTextElement("title_".concat(id), "form.imd.feedback.title", -1, title, formLayout);
@@ -335,7 +343,12 @@ public class FeedbacksEditorController extends FormBasicController implements Sy
 			textEl.getEditorConfiguration().setSimplestTextModeAllowed(TextMode.oneLine);
 			textEl.setEnabled(!restrictedEdit && !readOnly);
 			textEl.setVisible(!restrictedEdit && !readOnly);
-			textEl.setHelpTextKey("feedback." + feedbackType.name() + ".help", null);
+			
+			String helpText = "feedback." + feedbackType.name();
+			if(feedbackType == ModalFeedbackType.correct && itemBuilder instanceof SingleChoiceAssessmentItemBuilder) {
+				helpText += ".single";
+			}
+			textEl.setHelpTextKey(helpText + ".help", null);
 			textEl.setHelpUrlForManualPage("Test editor QTI 2.1 in detail#details_testeditor_feedback");
 			textEl.setElementCssClass("o_sel_assessment_item_" + feedbackType.name() + "_feedback");
 			RichTextConfiguration richTextConfig2 = textEl.getEditorConfiguration();
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties
index 1455ffac3359f7e7a38dbfd28ba7b8e1cad3e3a1..95c122fcaafbae6d03f1d9bd236f2244fc1ce7a9 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_de.properties
@@ -5,8 +5,9 @@ add=Hinzuf\u00FCgen
 add.additional.feedback=Bedingtes Feedback hinzuf\u00FCgen
 add.answered.feedback=Feedback bei Antwort hinzuf\u00FCgen
 add.correct.feedback=Feedback bei Wahl aller korrekten Antworten hinzuf\u00FCgen
+add.correct.feedback.single=Feedback bei Wahl der korrekten Antwort hinzuf\u00FCgen
 add.correctSolution.feedback=Korrekte L\u00F6sung hinzuf\u00FCgen
-add.empty.feedback=Feedback bei Wahl keiner Antworten hinzuf\u00FCgen
+add.empty.feedback=Feedback bei keiner Antwort hinzuf\u00FCgen
 add.feedback.menu=Feedback hinzuf\u00FCgen
 add.hint.feedback=L\u00F6sungshinweis
 add.incorrect.feedback=Feedback bei Wahl einer falschen Antwort hinzuf\u00FCgen
@@ -53,6 +54,7 @@ essay.rows=H\u00F6he (Anzahl Zeilen)
 export.qpool.successful=$org.olat.ims.qti.editor\:export.qpool.successful
 feedback.answered.help=Feedback bei Antwort\: Dieses Feedback erscheint sobald der Benutzer eine Antwort gibt.
 feedback.correct.help=Feedback bei Wahl aller korrekten Antworten\: Dieses Feedback erscheint nur dann, wenn alle Antworten korrekt sind.
+feedback.correct.single.help=Feedback bei Wahl der korrekten Antwort\: Dieses Feedback erscheint nur dann, wenn die Antwort korrekt sind.
 feedback.correctSolution.help=Korrekte L\u00F6sung\: Diese L\u00F6sung wird automatisch dann angezeigt, wenn die Antwort falsch ist.
 feedback.empty.help=Feedback bei leere Antwort\: Dieses Feedback erscheint solange die Antwort leer ist.
 feedback.hint.help=L\u00F6sungshinweis\: F\u00FCr den Testteilnehmer erscheint eine Schaltfl\u00E4che, welche er aufrufen kann, solange die Antwort noch nicht gesendet worden ist.
@@ -98,12 +100,13 @@ form.imd.condition=Bedingung(en)
 form.imd.correct.kprim=Richtig
 form.imd.correct.spots=Korrekte Spots
 form.imd.correct.text=Feedback bei Wahl aller korrekten Antworten
+form.imd.correct.single.text=Feedback bei Wahl der korrekten Antwort
 form.imd.correct.title=Titel
 form.imd.correctSolution.text=Korrekte L\u00F6sung
 form.imd.correctSolution.text.word=$\:form.imd.correctSolution.text (nur f\u00FCr Word Export)
 form.imd.correctSolution.title=Titel
 form.imd.descr=Frage
-form.imd.empty.text=Feedback bei Wahl keiner Antworten
+form.imd.empty.text=Feedback bei keiner Antwort
 form.imd.empty.title=Titel
 form.imd.feedback.text=Feedback
 form.imd.feedback.title=Titel
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties
index 9981badb5148402de4fee4e71b0285f4167c4a50..907eccead297bbe93764ce89039cbc5b90116827 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/_i18n/LocalStrings_en.properties
@@ -3,6 +3,7 @@ add=Add
 add.additional.feedback=Add feedback with conditions
 add.answered.feedback=Add feedback by answer
 add.correct.feedback=Add a feedback for all correct answers
+add.correct.feedback.single=Add feedback for correct answer
 add.correctSolution.feedback=Add correct solution
 add.empty.feedback=Add feedback by empty answer
 add.feedback.menu=Add feedback
@@ -51,6 +52,9 @@ error.upper.tolerance=The upper bound need to be bigger than the solution.
 export.qpool.successful=$org.olat.ims.qti.editor\:export.qpool.successful
 feedback.answered.help=Feedback by answer\: this feedback is shown automatically if the user give an answer.
 feedback.correct.help=Feedback for all correct answers\: The feedback appears only if all answer are correct.
+feedback.correct.help=Feedback for all correct answers\: The feedback appears only if all answer are correct.
+
+
 feedback.correctSolution.help=Correct solution\: The solution is shown automatically, if the answer is wrong.
 feedback.empty.help=Feedback by empty\: this feedback is shown if the user give an empty answer.
 feedback.hint.help=Hint\: For the hint a button appears, which can be opened, as long as the answer is not submitted yet.
@@ -97,6 +101,7 @@ form.imd.condition=Condition(s)
 form.imd.correct.kprim=True
 form.imd.correct.spots=Correct spots
 form.imd.correct.text=Feedback for all correct answers
+form.imd.correct.single.text=Feedback for correct answer
 form.imd.correct.title=Title
 form.imd.correctSolution.text=Correct solution
 form.imd.correctSolution.text.word=$\:form.imd.correctSolution.text (only for Word export)
diff --git a/src/main/java/org/olat/repository/handlers/CourseHandler.java b/src/main/java/org/olat/repository/handlers/CourseHandler.java
index d111561f3ef22db3b44ad946b271c971ed17e58c..bad61cfc8352140ec8776086b3c6acb2e2b37c74 100644
--- a/src/main/java/org/olat/repository/handlers/CourseHandler.java
+++ b/src/main/java/org/olat/repository/handlers/CourseHandler.java
@@ -340,7 +340,7 @@ public class CourseHandler implements RepositoryHandler {
 		RepositoryService repositoryService = CoreSpringFactory.getImpl(RepositoryService.class);
 		OLATResource ores = OLATResourceManager.getInstance().findOrPersistResourceable(resource);
 		RepositoryEntry importedRepositoryEntry = repositoryService.create(owner, null,
-				importExport.getResourceName(), importExport.getDisplayName(), importExport.getDescription(), ores, 0, organisation);
+				importExport.getResourceName(), importExport.getDisplayName(), importExport.getDescription(), ores, RepositoryEntry.ACC_OWNERS, organisation);
 
 		// set the new shared folder reference
 		CourseConfig courseConfig = course.getCourseEnvironment().getCourseConfig();
@@ -374,7 +374,7 @@ public class CourseHandler implements RepositoryHandler {
 		OLATResource ores = OLATResourceManager.getInstance().findOrPersistResourceable(resource);
 		
 		RepositoryEntry importedRepositoryEntry = repositoryService.create(owner,
-				null, importExport.getResourceName(), importExport.getDisplayName(), importExport.getDescription(), ores, 0, organisation);
+				null, importExport.getResourceName(), importExport.getDisplayName(), importExport.getDescription(), ores, RepositoryEntry.ACC_OWNERS, organisation);
 
 			// set the new glossary reference
 		CourseConfig courseConfig = course.getCourseEnvironment().getCourseConfig();
diff --git a/src/test/java/org/olat/restapi/ForumTest.java b/src/test/java/org/olat/restapi/ForumTest.java
index 1748a7838864d0b3684ca696b5a4e963dce8a4ef..6464d668660e8f70193d9adab8439f515cbef06e 100644
--- a/src/test/java/org/olat/restapi/ForumTest.java
+++ b/src/test/java/org/olat/restapi/ForumTest.java
@@ -56,7 +56,9 @@ import org.apache.http.message.BasicNameValuePair;
 import org.apache.http.util.EntityUtils;
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.FixMethodOrder;
 import org.junit.Test;
+import org.junit.runners.MethodSorters;
 import org.olat.core.commons.persistence.DBFactory;
 import org.olat.core.id.Identity;
 import org.olat.core.logging.OLog;
@@ -80,6 +82,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class ForumTest extends OlatJerseyTestCase {
 	
 	private static final OLog log = Tracing.createLoggerFor(ForumTest.class);