diff --git a/src/main/java/org/olat/group/ui/main/BusinessGroupFlexiTableModelSort.java b/src/main/java/org/olat/group/ui/main/BusinessGroupFlexiTableModelSort.java
index c2c7d24c45d14e05928d6e2aa9c28da6df3a7e60..64073a770d26228be7c13b8a1968984b55804d94 100644
--- a/src/main/java/org/olat/group/ui/main/BusinessGroupFlexiTableModelSort.java
+++ b/src/main/java/org/olat/group/ui/main/BusinessGroupFlexiTableModelSort.java
@@ -50,6 +50,7 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel
 		int columnIndex = getColumnIndex();
 		Cols column = Cols.values()[columnIndex];
 		switch(column) {
+			case name: Collections.sort(rows, new BusinessGroupNameComparator()); break;
 			case mark: Collections.sort(rows, new MarkComparator()); break;
 			case resources: Collections.sort(rows, new ResourcesComparator()); break;
 			case role: Collections.sort(rows, new RoleComparator()); break;
@@ -59,6 +60,14 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel
 		}
 	}
 	
+	private class BusinessGroupNameComparator implements Comparator<BGTableItem> {
+
+		@Override
+		public int compare(BGTableItem t1, BGTableItem t2) {
+			return compareString(t1.getBusinessGroupName(), t2.getBusinessGroupName());
+		}
+	}
+	
 	private class MarkComparator implements Comparator<BGTableItem> {
 		
 		@Override
@@ -80,16 +89,14 @@ public class BusinessGroupFlexiTableModelSort extends SortableFlexiTableModelDel
 		@Override
 		public int compare(BGTableItem t1, BGTableItem t2) {
 			List<RepositoryEntryShort> r1 = t1.getRelations();
-			List<RepositoryEntryShort> r2 = t1.getRelations();
+			List<RepositoryEntryShort> r2 = t2.getRelations();
 				
 			if(r1 != null && r1.size() > 0) {
 				if(r2 != null && r2.size() > 0) {
 					return compareTo(r1, r2);
 				}
 				return 1;
-			}
-			
-			if(r2 != null && r2.size() > 0) {
+			} else if(r2 != null && r2.size() > 0) {
 				return -1;
 			}
 			return compareString(t1.getBusinessGroupName(), t2.getBusinessGroupName());
diff --git a/src/main/java/org/olat/group/ui/main/BusinessGroupMembershipComparator.java b/src/main/java/org/olat/group/ui/main/BusinessGroupMembershipComparator.java
index 9d401a5fa0681dea548e367cccc5e0b1a65ec3f7..438f366f705b7f0a751688b4af6fb5f65dbe10c9 100644
--- a/src/main/java/org/olat/group/ui/main/BusinessGroupMembershipComparator.java
+++ b/src/main/java/org/olat/group/ui/main/BusinessGroupMembershipComparator.java
@@ -32,6 +32,16 @@ public class BusinessGroupMembershipComparator implements Comparator<BusinessGro
 
 	@Override
 	public int compare(BusinessGroupMembership m1, BusinessGroupMembership m2) {
+		if(m1 == null) {
+			if(m2 == null) {
+				return 0;
+			} else {
+				return -1;
+			}
+		} else if(m2 == null) {
+			return 1;
+		}
+		
 		if(m1.isOwner()) {
 			if(m2.isOwner()) {
 				return 0;
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
index 37899a960cd6de06b5b32d0e44702e03feb5bdd5..ed475e7fb184d4f4ee7784b7d56e1de04738f77c 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
@@ -529,6 +529,7 @@ table.header.access.membersonly=<span class\="o_blue">Nur Mitglieder</span>
 table.header.access.owner=<span class\="o_ochre">B---</span>
 table.header.access.user=<span class\="o_blue">BAR-</span>
 table.header.author=Urheber
+table.header.authors=Autoren
 table.header.date=Erstellt
 table.header.description=Beschreibung
 table.header.details=Detailansicht
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties
index 2afd393bf42042ff4169f6129a8a6a1460086c6e..ac4608e150b9cdb64de9792ce322a982e6902e13 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties
@@ -489,6 +489,7 @@ table.header.access.membersonly=<span class\="o_blue">Members only</span>
 table.header.access.owner=<span class\="o_ochre">O---</span>
 table.header.access.user=<span class\="o_blue">OAU-</span>
 table.header.author=Author
+table.header.authors=Authors
 table.header.date=Created
 table.header.description=Description
 table.header.details=Detailed view
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties
index a8bd1fd467143d544ac5d66603df7435063ae297..991c273010ff45bbd240babe86ed87457087aacf 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties
@@ -455,6 +455,7 @@ table.header.access.membersonly=<span class\="o_blue">Membres uniquement</span>
 table.header.access.owner=<span class\="o_ochre">P---</span>
 table.header.access.user=<span class\="o_blue">PAU-</span>
 table.header.author=Cr\u00E9ateur
+table.header.authors=Auteurs
 table.header.date=Cr\u00E9\u00E9e
 table.header.description=Description
 table.header.details=Vue d\u00E9taill\u00E9e
diff --git a/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java b/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java
index 5633a7af6cf34670eb9d2eb30ed87977555ed9ad..ca09f5b399dfe36f5734278ab48a00add497f485 100644
--- a/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java
+++ b/src/main/java/org/olat/repository/manager/RepositoryEntryAuthorQueries.java
@@ -269,6 +269,13 @@ public class RepositoryEntryAuthorQueries {
 					sb.append(" order by lower(v.initialAuthor)");
 					appendAsc(sb, asc).append(", lower(v.displayname) asc");	
 					break;
+				case access:
+					if(asc) {
+						sb.append(" order by v.access asc, lower(v.displayname) asc");
+					} else {
+						sb.append(" order by v.access desc, lower(v.displayname) desc");
+					}
+					break;
 				case ac:
 					if(asc) {
 						sb.append(" order by offers asc, lower(v.displayname) asc");
@@ -281,7 +288,7 @@ public class RepositoryEntryAuthorQueries {
 					appendAsc(sb, asc).append(", lower(v.displayname) asc");
 					break;
 				case lastUsage:
-					sb.append(" order by v.stats.lastUsage ");
+					sb.append(" order by v.statistics.lastUsage ");
 					appendAsc(sb, asc).append(", lower(v.displayname) asc");
 					break;
 				case lifecycleLabel:
diff --git a/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java b/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java
index 2c863a28487ca25070d3c4d7347e927cdf92b987..eed878e737810258cf2cd279a9a0d20b49a5cacd 100644
--- a/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java
+++ b/src/main/java/org/olat/repository/model/SearchAuthorRepositoryEntryViewParams.java
@@ -163,6 +163,7 @@ public class SearchAuthorRepositoryEntryViewParams {
 		displayname,
 		authors,
 		author,
+		access,
 		ac,
 		creationDate,
 		lastUsage,
diff --git a/src/main/java/org/olat/repository/ui/author/AuthorListController.java b/src/main/java/org/olat/repository/ui/author/AuthorListController.java
index 7c11383245b7b26f83bc3ce5db9787ff3c6c4cf5..5bb70d617d9fd7210ddb9009d0ac173fb41f5d45 100644
--- a/src/main/java/org/olat/repository/ui/author/AuthorListController.java
+++ b/src/main/java/org/olat/repository/ui/author/AuthorListController.java
@@ -212,7 +212,7 @@ public class AuthorListController extends FormBasicController implements Activat
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.author.i18nKey(), Cols.author.ordinal(),
 				true, OrderBy.author.name()));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.access.i18nKey(), Cols.access.ordinal(),
-				true, OrderBy.ac.name(), FlexiColumnModel.ALIGNMENT_LEFT, new AccessRenderer()));
+				true, OrderBy.access.name(), FlexiColumnModel.ALIGNMENT_LEFT, new AccessRenderer()));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, Cols.ac.i18nKey(), Cols.ac.ordinal(),
 				true, OrderBy.ac.name(), FlexiColumnModel.ALIGNMENT_LEFT, new ACRenderer()));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Cols.creationDate.i18nKey(), Cols.creationDate.ordinal(),
diff --git a/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataModel.java b/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataModel.java
index 1193684ecd5a33cd9bebfadefd9032b0074494dc..0f8fc7490cabc0ac3373837f3cffe742fb0f4d2d 100644
--- a/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataModel.java
+++ b/src/main/java/org/olat/repository/ui/author/AuthoringEntryDataModel.java
@@ -90,7 +90,7 @@ class AuthoringEntryDataModel extends DefaultFlexiTableDataSourceModel<Authoring
 		externalRef("table.header.externalref"),
 		displayName("cif.displayname"),
 		author("table.header.author"),
-		authors("table.header.author"),
+		authors("table.header.authors"),
 		access("table.header.access"),
 		creationDate("table.header.date"),
 		lastUsage("table.header.lastusage"),
diff --git a/src/main/java/org/olat/repository/ui/author/AuthoringEntryDetailsController.java b/src/main/java/org/olat/repository/ui/author/AuthoringEntryDetailsController.java
index d442e0d848fc5b6793665de5e900fe8bf5f1b632..c10bd3ae5013f34fc955a89dea8067ef0c17a1d8 100644
--- a/src/main/java/org/olat/repository/ui/author/AuthoringEntryDetailsController.java
+++ b/src/main/java/org/olat/repository/ui/author/AuthoringEntryDetailsController.java
@@ -88,7 +88,6 @@ import org.olat.resource.accesscontrol.model.OfferAccess;
 import org.olat.resource.accesscontrol.model.Price;
 import org.olat.resource.accesscontrol.ui.OrdersAdminController;
 import org.olat.resource.accesscontrol.ui.PriceFormat;
-import org.olat.user.UserManager;
 import org.springframework.beans.factory.annotation.Autowired;
 
 
@@ -121,8 +120,6 @@ public class AuthoringEntryDetailsController extends RepositoryEntryDetailsContr
 	
 	private boolean corrupted;
 
-	@Autowired
-	private UserManager userManager;
 	@Autowired
 	private RepositoryManager repositoryManager;
 	@Autowired