diff --git a/src/main/java/org/olat/modules/quality/manager/QualityDataCollectionDAO.java b/src/main/java/org/olat/modules/quality/manager/QualityDataCollectionDAO.java
index b82fc7e0e3279d972b0aad59f6abcce486f5d821..4108f83b135aee7a3579b030359411a258b848a3 100644
--- a/src/main/java/org/olat/modules/quality/manager/QualityDataCollectionDAO.java
+++ b/src/main/java/org/olat/modules/quality/manager/QualityDataCollectionDAO.java
@@ -98,7 +98,10 @@ public class QualityDataCollectionDAO {
 		if (dataCollectionRef == null || dataCollectionRef.getKey() == null) return null;
 			
 		StringBuilder sb = new StringBuilder(256);
-		sb.append("select collection from qualitydatacollection as collection");
+		sb.append("select collection");
+		sb.append("  from qualitydatacollection as collection");
+		sb.append("       left join fetch collection.topicIdentity");
+		sb.append("       left join fetch collection.topicOrganisation");
 		sb.append(" where collection.key=:collectionKey");
 		
 		 List<QualityDataCollection> dataCollections = dbInstance.getCurrentEntityManager()
diff --git a/src/main/java/org/olat/modules/quality/ui/DataCollectionConfigurationController.java b/src/main/java/org/olat/modules/quality/ui/DataCollectionConfigurationController.java
index 2ea1746e9bc668e0caef109df58a617a59adfcc8..296fab8ee1286dfe19d56da95ee6268041a3a54a 100644
--- a/src/main/java/org/olat/modules/quality/ui/DataCollectionConfigurationController.java
+++ b/src/main/java/org/olat/modules/quality/ui/DataCollectionConfigurationController.java
@@ -275,12 +275,9 @@ public class DataCollectionConfigurationController extends AbstractDataCollectio
 			case ORGANISATION:
 				List<Organisation> organisations = organisationService.getOrganisations(getIdentity(),
 						OrganisationRoles.administrator, OrganisationRoles.qualitymanager);
-				if (topicOrganisation != null && !organisations.contains(topicOrganisation)) {
-					organisations.add(topicOrganisation);
-				}
 				OrganisationTreeModel organisationModel = new OrganisationTreeModel();
 				organisationModel.loadTreeModel(organisations);
-				KeysValues organistionKeysValues = QualityUIFactory.getTopicOrganisationKeysValues(organisationModel);
+				KeysValues organistionKeysValues = QualityUIFactory.getTopicOrganisationKeysValues(organisationModel, topicOrganisation);
 				topicOrganisationEl.setKeysAndValues(organistionKeysValues.getKeys(), organistionKeysValues.getValues(), null);
 				if (topicOrganisation != null) {
 					topicOrganisationEl.select(QualityUIFactory.getTopicOrganisationKey(topicOrganisation), true);
@@ -293,10 +290,7 @@ public class DataCollectionConfigurationController extends AbstractDataCollectio
 					params.setOrganisations(QualityUIFactory.getSelectedOrganisationRefs(organisationsEl));
 				}
 				List<Curriculum> curriculums = curriculumService.getCurriculums(params);
-				if (topicCurriculum != null && !curriculums.contains(topicCurriculum)) {
-					curriculums.add(topicCurriculum);
-				}
-				KeysValues curriculumKeysValues = QualityUIFactory.getCurriculumKeysValues(curriculums);
+				KeysValues curriculumKeysValues = QualityUIFactory.getCurriculumKeysValues(curriculums, topicCurriculum);
 				topicCurriculumEl.setKeysAndValues(curriculumKeysValues.getKeys(), curriculumKeysValues.getValues(), null);
 				if (topicCurriculum != null) {
 					topicCurriculumEl.select(QualityUIFactory.getCurriculumKey(topicCurriculum), true);
@@ -309,19 +303,14 @@ public class DataCollectionConfigurationController extends AbstractDataCollectio
 					params2.setOrganisations(QualityUIFactory.getSelectedOrganisationRefs(organisationsEl));
 				}
 				List<Curriculum> curriculums2 = curriculumService.getCurriculums(params2);
-				if (topicCurriculum != null && !curriculums2.contains(topicCurriculum)) {
-					curriculums2.add(topicCurriculum);
-				}
-				KeysValues curriculumKeysValues2 = QualityUIFactory.getCurriculumKeysValues(curriculums2);
+				KeysValues curriculumKeysValues2 = QualityUIFactory.getCurriculumKeysValues(curriculums2, topicCurriculum);
 				topicCurriculumEl.setKeysAndValues(curriculumKeysValues2.getKeys(), curriculumKeysValues2.getValues(), null);
 				if (topicCurriculum != null) {
 					topicCurriculumEl.select(QualityUIFactory.getCurriculumKey(topicCurriculum), true);
-				}
-				if (topicCurriculum != null) {
 					List<CurriculumElement> curriculumElements = curriculumService.getCurriculumElements(topicCurriculum, CurriculumElementStatus.values());
 					CurriculumTreeModel curriculumTreeModel = new CurriculumTreeModel();
 					curriculumTreeModel.loadTreeModel(curriculumElements);
-					KeysValues curriculumElementKeysValues = QualityUIFactory.getCurriculumElementKeysValues(curriculumTreeModel);
+					KeysValues curriculumElementKeysValues = QualityUIFactory.getCurriculumElementKeysValues(curriculumTreeModel, topicCurriculumElement);
 					topicCurriculumElementEl.setKeysAndValues(curriculumElementKeysValues.getKeys(), curriculumElementKeysValues.getValues(), null);
 					if (topicCurriculumElement != null) {
 						topicCurriculumElementEl.select(QualityUIFactory.getCurriculumElementKey(topicCurriculumElement), true);
diff --git a/src/main/java/org/olat/modules/quality/ui/QualityUIFactory.java b/src/main/java/org/olat/modules/quality/ui/QualityUIFactory.java
index 842f8f180b77a4551348970ee33e46b12bc9e650..3abd451370ca2cb8ad03cb369f62cbfd7c4e64c9 100644
--- a/src/main/java/org/olat/modules/quality/ui/QualityUIFactory.java
+++ b/src/main/java/org/olat/modules/quality/ui/QualityUIFactory.java
@@ -128,13 +128,17 @@ public class QualityUIFactory {
 				|| CoreSpringFactory.getImpl(CurriculumModule.class).isEnabled();
 	}
 	
-	public static KeysValues getCurriculumKeysValues(List<Curriculum> curriculums) {
-		String[] keys = curriculums.stream()
+	public static KeysValues getCurriculumKeysValues(List<Curriculum> curriculums, Curriculum current) {
+		List<Curriculum> curriculumsCopy = new ArrayList<>(curriculums);
+		if (current != null && !curriculumsCopy.contains(current)) {
+			curriculumsCopy.add(0, current);
+		}
+		String[] keys = curriculumsCopy.stream()
 				.sorted(DISPLAY_NAME_COMPARATOR)
 				.map(Curriculum::getKey)
 				.map(String::valueOf)
 				.toArray(String[]::new);
-		String[] values = curriculums.stream()
+		String[] values = curriculumsCopy.stream()
 				.sorted(DISPLAY_NAME_COMPARATOR)
 				.map(Curriculum::getDisplayName)
 				.toArray(String[]::new);
@@ -163,9 +167,12 @@ public class QualityUIFactory {
 		return null;
 	}
 
-	public static KeysValues getCurriculumElementKeysValues(CurriculumTreeModel curriculumTreeModel) {
+	public static KeysValues getCurriculumElementKeysValues(CurriculumTreeModel curriculumTreeModel, CurriculumElement current) {
 		List<CurriculumElement> elements = new ArrayList<>();
 		curriculumElementTreeToList(elements, curriculumTreeModel.getRootNode());
+		if (current != null && !elements.contains(current)) {
+			elements.add(0, current);
+		}
 		String[] keys = new String[elements.size()];
 		String[] values = new String[elements.size()];
 		for (int i = elements.size(); i-->0; ) {
@@ -221,9 +228,12 @@ public class QualityUIFactory {
 		return null;
 	}
 
-	public static KeysValues getTopicOrganisationKeysValues(OrganisationTreeModel organisationModel) {
+	public static KeysValues getTopicOrganisationKeysValues(OrganisationTreeModel organisationModel, Organisation current) {
 		List<Organisation> organisations = new ArrayList<>();
 		organsiationTreeToList(organisations, organisationModel.getRootNode());
+		if (current != null && !organisations.contains(current)) {
+			organisations.add(0, current);
+		}
 		String[] keys = new String[organisations.size()];
 		String[] values = new String[organisations.size()];
 		for (int i = organisations.size(); i-->0; ) {
diff --git a/src/main/java/org/olat/modules/quality/ui/wizard/AddCurriculumElementUserSelectionController.java b/src/main/java/org/olat/modules/quality/ui/wizard/AddCurriculumElementUserSelectionController.java
index b935b724f7d8d291d598a3222da656380f1565d8..49649e550f6dbfd5c96101d66dfc804d89c4c352 100644
--- a/src/main/java/org/olat/modules/quality/ui/wizard/AddCurriculumElementUserSelectionController.java
+++ b/src/main/java/org/olat/modules/quality/ui/wizard/AddCurriculumElementUserSelectionController.java
@@ -89,7 +89,7 @@ public class AddCurriculumElementUserSelectionController extends StepFormBasicCo
 		CurriculumSearchParameters params = new CurriculumSearchParameters();
 		params.setOrganisations(organisationRefs);
 		List<Curriculum> curriculums = curriculumService.getCurriculums(params);
-		KeysValues curriculumKeysValues = QualityUIFactory.getCurriculumKeysValues(curriculums);
+		KeysValues curriculumKeysValues = QualityUIFactory.getCurriculumKeysValues(curriculums, null);
 		curriculumEl = uifactory.addDropdownSingleselect("participation.user.curele.add.choose.curriculum", formLayout,
 				curriculumKeysValues.getKeys(), curriculumKeysValues.getValues());
 		curriculumEl.addActionListener(FormEvent.ONCHANGE);
@@ -108,7 +108,7 @@ public class AddCurriculumElementUserSelectionController extends StepFormBasicCo
 				List<CurriculumElement> curriculumElements = curriculumService.getCurriculumElements(curriculum, CurriculumElementStatus.notDeleted());
 				CurriculumTreeModel curriculumTreeModel = new CurriculumTreeModel();
 				curriculumTreeModel.loadTreeModel(curriculumElements);
-				KeysValues curriculumElementKeysValues = QualityUIFactory.getCurriculumElementKeysValues(curriculumTreeModel);
+				KeysValues curriculumElementKeysValues = QualityUIFactory.getCurriculumElementKeysValues(curriculumTreeModel, null);
 				curriculumElementEl.setKeysAndValues(curriculumElementKeysValues.getKeys(), curriculumElementKeysValues.getValues(), null);
 			}
 		}