diff --git a/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java b/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java
index ab1200002d7767f0627c7cbc9ded1f6a4673f6e8..3ff68f54fbaeb636ebd20a359a0d29c3804c3157 100644
--- a/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java
+++ b/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java
@@ -265,13 +265,20 @@ public class LTIRunController extends BasicController {
 	 * @return
 	 */
 	private String setRoles(Roles roles) {
-		StringBuilder rolesStr = new StringBuilder("Learner");
-		if (roles.isAuthor()) rolesStr.append(",").append("Instructor");
-		if (roles.isOLATAdmin()) rolesStr.append(",").append("Administrator");
+		StringBuilder rolesStr;
 		if (roles.isGuestOnly()) {
-			rolesStr = new StringBuilder();
-			rolesStr.append("Guest");
+			rolesStr = new StringBuilder("Guest");
+		} else {
+			rolesStr = new StringBuilder("Learner");
+			boolean coach = courseEnv.getCourseGroupManager().isIdentityCourseCoach(getIdentity());
+			if (coach) {
+				rolesStr.append(",").append("Instructor");
+			}
+			if (roles.isOLATAdmin()) {
+				rolesStr.append(",").append("Administrator");
+			}
 		}
+		
 		return rolesStr.toString();
 	}