diff --git a/src/main/java/org/olat/course/condition/GroupSelectionController.java b/src/main/java/org/olat/course/condition/GroupSelectionController.java
index 2cc2e675bb9e7d3089f14dd34beac87107b4769e..1dfeaa8bb1d3428071085637445b7c19fa581db7 100644
--- a/src/main/java/org/olat/course/condition/GroupSelectionController.java
+++ b/src/main/java/org/olat/course/condition/GroupSelectionController.java
@@ -71,8 +71,6 @@ public class GroupSelectionController extends FormBasicController {
 	private NewBGController groupCreateCntrllr;
 	private CloseableModalController cmc;
 	
-	private String[] groupNames;
-	private String[] groupKeys;
 	private boolean createEnable;
 	
 	private FlexiTableElement groupTableElement;
@@ -111,7 +109,7 @@ public class GroupSelectionController extends FormBasicController {
 		Map<Long, StatisticsBusinessGroupRow> stats = businessGroupService.findBusinessGroupsStatistics(params).stream().collect(Collectors.toMap(StatisticsBusinessGroupRow::getKey, g -> g, (u, v) -> u));
 		
 		groupTableRows = new ArrayList<>();
-		Set<Integer> selectedRows = new HashSet<Integer>();
+		Set<Integer> selectedRows = new HashSet<>();
 		
 		for (BusinessGroup businessGroup : groups) {
 			groupTableRows.add(new ENEditGroupTableContentRow(businessGroup, stats.get(businessGroup.getKey())));
@@ -208,6 +206,11 @@ public class GroupSelectionController extends FormBasicController {
 		descriptionColumn.setAlwaysVisible(true);
 		columnsModel.addFlexiColumnModel(descriptionColumn);
 		
+		DefaultFlexiColumnModel coachesColumn = new DefaultFlexiColumnModel(ENEditGroupTableColumns.coaches);
+		coachesColumn.setDefaultVisible(true);
+		coachesColumn.setAlwaysVisible(true);
+		columnsModel.addFlexiColumnModel(coachesColumn);
+		
 		DefaultFlexiColumnModel participantsColumn = new DefaultFlexiColumnModel(ENEditGroupTableColumns.participants);
 		participantsColumn.setDefaultVisible(true);
 		participantsColumn.setAlwaysVisible(true);
diff --git a/src/main/java/org/olat/course/condition/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/course/condition/_i18n/LocalStrings_de.properties
index 3d6b601030d0d975dc2fb0314603d760de7fb34a..bbeebbdd8baafc36d19fd60b353d09456d318bf6 100644
--- a/src/main/java/org/olat/course/condition/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/course/condition/_i18n/LocalStrings_de.properties
@@ -11,6 +11,7 @@ easy.operator=Operator
 easy.value=Wert
 engroupedit.table.key=ID
 engroupedit.table.up=Hoch
+engroupedit.table.coaches=Betreuer
 engroupedit.table.description=Beschreibung
 engroupedit.table.down=Runter
 engroupedit.table.groupName=Gruppenname
@@ -118,4 +119,5 @@ solution.provideone.nodereference=Hinweis\: Genau eine Kursbaustein-Identifikati
 solution.provideone.username=Hinweis\: Geben Sie genau einen Benutzernamen an. Beachten Sie, dass nicht gepr\u00FCft wird, ob der Benutzer in OLAT bereits existiert.
 solution.providetwo.attrvalue=Hinweis\: Die "{0}"-Funktion braucht einen Attributnamen und einen Attributswert, beide von "" umschlossen.
 solution.takeassessablenode=Hinweis\: Konsultieren Sie die Hilfe f\u00FCr eine Liste von bewertbaren Kursbausteinen.
+table.header.coaches=Betreuer
 xx={0}
diff --git a/src/main/java/org/olat/course/condition/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/course/condition/_i18n/LocalStrings_en.properties
index a6e0a0c8d627a6522702a47b038676cbce8e473c..b142ebb947f950a02f6933d352db47363b24edd5 100644
--- a/src/main/java/org/olat/course/condition/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/course/condition/_i18n/LocalStrings_en.properties
@@ -11,6 +11,7 @@ easy.operator=Operator
 easy.value=Value
 engroupedit.table.key=ID
 engroupedit.table.up=Up
+engroupedit.table.coaches=Coaches
 engroupedit.table.description=Description
 engroupedit.table.down=Down
 engroupedit.table.groupName=Groupname
diff --git a/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java b/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java
index 40dbee1311b28275b17d36f8d4af7706253d815d..30b4ad8a8ab6a893a6b67f148a0d5d9b35a68390 100644
--- a/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java
+++ b/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java
@@ -800,23 +800,6 @@ class ENEditGroupAreaFormController extends FormBasicController implements Gener
 		return keyList;
 	}
 
-	private KeysAndNames getGroupKeysAndNames(List<Long> keys) {
-		StringBuilder sb = new StringBuilder();
-		KeysAndNames keysAndNames = new KeysAndNames();
-		keysAndNames.getKeys().addAll(keys);
-
-		List<BusinessGroupShort> groups = businessGroupService.loadShortBusinessGroups(keys);
-		for(BusinessGroupShort group:groups) {
-			if(sb.length() > 0) sb.append("&nbsp;&nbsp;");
-			sb.append("<i class='o_icon o_icon-fw o_icon_group'>&nbsp;</i> ");
-			sb.append(StringHelper.escapeHtml(group.getName()));
-			keysAndNames.getNames().add(group.getName());
-
-		}
-		keysAndNames.setDecoratedNames(sb.toString());
-		return keysAndNames;
-	}
-
 	private KeysAndNames getAreaKeysAndNames(List<Long> keys) {
 		StringBuilder sb = new StringBuilder();
 		List<BGArea> areas = areaManager.loadAreas(keys);
diff --git a/src/main/java/org/olat/course/nodes/en/ENEditGroupTableContentRow.java b/src/main/java/org/olat/course/nodes/en/ENEditGroupTableContentRow.java
index 0426c26a2425c6003644b43634419c9feb23fd99..b8a3d5812f40f39b52086a731edf24206f9dbd0c 100644
--- a/src/main/java/org/olat/course/nodes/en/ENEditGroupTableContentRow.java
+++ b/src/main/java/org/olat/course/nodes/en/ENEditGroupTableContentRow.java
@@ -35,6 +35,7 @@ public class ENEditGroupTableContentRow {
 	private final String description;
 	private final int minParticipants;
 	private final int maxParticipants;
+	private final int coaches;
 	private final int participants;
 	private final int onWaitinglist;
 	private final boolean waitinglistEnabled;
@@ -46,6 +47,7 @@ public class ENEditGroupTableContentRow {
 		minParticipants = 0;
 		maxParticipants = 0;
 		participants = 0;
+		coaches = 0;
 		onWaitinglist = 0;
 		waitinglistEnabled = false;
 	}
@@ -59,6 +61,7 @@ public class ENEditGroupTableContentRow {
 		this.waitinglistEnabled = group.getWaitingListEnabled();
 		this.onWaitinglist = enrollment.getNumInWaitingList();
 		this.participants = enrollment.getNumOfParticipants();
+		this.coaches = -1;
 	}
 	
 	public ENEditGroupTableContentRow(BusinessGroup group, StatisticsBusinessGroupRow stats) {
@@ -70,6 +73,7 @@ public class ENEditGroupTableContentRow {
 		this.waitinglistEnabled = group.getWaitingListEnabled();
 		this.onWaitinglist = stats.getNumWaiting();
 		this.participants = stats.getNumOfParticipants();
+		this.coaches = stats.getNumOfCoaches();
 	}
 	
 	
@@ -93,6 +97,10 @@ public class ENEditGroupTableContentRow {
 		return maxParticipants > -1 ? String.valueOf(maxParticipants) : " - ";
 	}
 
+	public int getCoaches() {
+		return coaches;
+	}
+
 	public int getParticipants() {
 		return participants;
 	}
diff --git a/src/main/java/org/olat/course/nodes/en/ENEditGroupTableModel.java b/src/main/java/org/olat/course/nodes/en/ENEditGroupTableModel.java
index 719a0cfc93368b18ca9cde27a3df2426582fe8b8..b9ba65614bf4cfba841a693ef8b2ed128a7f5e98 100644
--- a/src/main/java/org/olat/course/nodes/en/ENEditGroupTableModel.java
+++ b/src/main/java/org/olat/course/nodes/en/ENEditGroupTableModel.java
@@ -81,6 +81,8 @@ public class ENEditGroupTableModel extends DefaultFlexiTableDataModel<ENEditGrou
 			return row.isWaitinglistEnabled();
 		case onWaitinglist: 
 			return row.getOnWaitinglist();
+		case coaches:
+			return row.getCoaches();
 		case participants: 
 			return row.getParticipants();
 
@@ -95,7 +97,7 @@ public class ENEditGroupTableModel extends DefaultFlexiTableDataModel<ENEditGrou
 	}
 
 	public List<String> getNames() {
-		List<String> names = new ArrayList<String>();
+		List<String> names = new ArrayList<>();
 
 		for (ENEditGroupTableContentRow row : getObjects()) {
 			names.add(row.getGroupName());
@@ -105,7 +107,7 @@ public class ENEditGroupTableModel extends DefaultFlexiTableDataModel<ENEditGrou
 	}
 
 	public List<Long> getKeys() {
-		List<Long> keys = new ArrayList<Long>();
+		List<Long> keys = new ArrayList<>();
 
 		for (ENEditGroupTableContentRow row : getObjects()) {
 			keys.add(row.getKey());
@@ -123,6 +125,7 @@ public class ENEditGroupTableModel extends DefaultFlexiTableDataModel<ENEditGrou
 		minParticipants("engroupedit.table.minPart"),
 		maxParticipants("engroupedit.table.maxPart"),
 		description("engroupedit.table.description"),
+		coaches("engroupedit.table.coaches"),
 		participants("engroupedit.table.enrolled"),
 		waitinglistEnabled("engroupedit.table.waitinglist"),
 		onWaitinglist("engroupedit.table.waitinglistParticipants"),
diff --git a/src/main/java/org/olat/course/nodes/en/EnrollmentTableModelWithMaxSize.java b/src/main/java/org/olat/course/nodes/en/EnrollmentTableModelWithMaxSize.java
index 96eea312a6333953b03868928ef6bf16474bf09b..bb153c8dc55639cb3f007bba35c79a05fc555a7d 100644
--- a/src/main/java/org/olat/course/nodes/en/EnrollmentTableModelWithMaxSize.java
+++ b/src/main/java/org/olat/course/nodes/en/EnrollmentTableModelWithMaxSize.java
@@ -108,7 +108,7 @@ public class EnrollmentTableModelWithMaxSize extends DefaultTableDataModel<Enrol
 				// Waiting-list
 				if (enrollmentRow.isWaitingListEnabled()) {
 					// Waitinglist is enabled => show current size
-					return new Integer(enrollmentRow.getNumInWaitingList());
+					return Integer.valueOf(enrollmentRow.getNumInWaitingList());
 				}
 				return trans.translate("grouplist.table.noWaitingList");
 			case 5: