diff --git a/src/main/java/org/olat/modules/quality/analysis/manager/EvaluationFormDAO.java b/src/main/java/org/olat/modules/quality/analysis/manager/EvaluationFormDAO.java
index fc2ad532563219bf8ff31956059dc3afbf653759..6f75b1c7caa280a1369736357e5cd2712ce9fb31 100644
--- a/src/main/java/org/olat/modules/quality/analysis/manager/EvaluationFormDAO.java
+++ b/src/main/java/org/olat/modules/quality/analysis/manager/EvaluationFormDAO.java
@@ -54,16 +54,17 @@ public class EvaluationFormDAO {
 		sb.append("     , count(distinct collection) as numberDataCollections");
 		sb.append("     , min(collection.start) as soonestDataCollectionDate");
 		sb.append("     , max(collection.deadline) as latestDataCollectionDate");
-		sb.append("     , count(session) as numberParticipants");
+		sb.append("     , count(session.key) as numberParticipants");
 		sb.append("       )");
-		sb.append("  from qualitydatacollection as collection");
+		sb.append("  from repositoryentry form");
 		sb.append("       inner join evaluationformsurvey survey");
-		sb.append("               on survey.resName = '").append(QualityDataCollectionLight.RESOURCEABLE_TYPE_NAME).append("'");
-		sb.append("              and survey.resId = collection.key");
-		sb.append("       inner join survey.formEntry as form");
+		sb.append("               on survey.formEntry.key = form.key");
 		sb.append("       left join evaluationformsession session");
 		sb.append("              on session.survey.key = survey.key");
 		sb.append("             and session.status ='").append(EvaluationFormSessionStatus.done).append("'");
+		sb.append("       inner join qualitydatacollection as collection");
+		sb.append("               on survey.resName = '").append(QualityDataCollectionLight.RESOURCEABLE_TYPE_NAME).append("'");
+		sb.append("              and survey.resId = collection.key");
 		sb.append("      ");
 		appendWhere(sb, searchParams);
 		sb.append(" group by form.key");