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 c509237ba7e214b3e57412bd9b48b86a3967ebc3..ad55425374dc9357020af76d7fe20046ef47b03d 100644
--- a/src/main/java/org/olat/modules/quality/ui/QualityUIFactory.java
+++ b/src/main/java/org/olat/modules/quality/ui/QualityUIFactory.java
@@ -84,8 +84,7 @@ public class QualityUIFactory {
 	private static final String INTENDING = "\u00a0"; //   non-breaking space
 	private static final Comparator<? super Curriculum> DISPLAY_NAME_COMPARATOR = 
 			(c1, c2) -> c1.getDisplayName().compareTo(c2.getDisplayName());
-	private static final Comparator<IdentityShort> IDENTITY_LAST_FIRST_COMPARATOR = 
-			Comparator.comparing(IdentityShort::getFirstName).thenComparing(IdentityShort::getLastName);
+	private static final Comparator<IdentityShort> IDENTITY_LAST_FIRST_COMPARATOR = new LastFirstNameComporator();
 	
 	public static String[] emptyArray() {
 		return EMPTY_ARRAY;
@@ -647,5 +646,31 @@ public class QualityUIFactory {
 		}
 		
 	}
+	
+	private static final class LastFirstNameComporator implements Comparator<IdentityShort> {
+		
+		@Override
+		public int compare(IdentityShort i1, IdentityShort i2) {
+			// Compare last name...
+			String lastName1 = i1.getLastName();
+			String lastName2 = i2.getLastName();
+			// nulls last
+			if (lastName1 == null) return 1;
+			if (lastName2 == null) return -1;
+			
+			int lastNameComp = lastName1.toLowerCase().compareTo(lastName2.toLowerCase());
+			if (lastNameComp != 0) return lastNameComp;
+			
+			// ...and then the fist name
+			String firstName1 = i1.getFirstName();
+			String firstName2 = i2.getFirstName();
+			// nulls last
+			if (firstName1 == null) return 1;
+			if (firstName2 == null) return -1;
+			
+			return firstName1.toLowerCase().compareTo(firstName2.toLowerCase());
+		}
+		
+	}
 
 }