diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
index da5bdf079f1f884495de2602953e4ae487436942..c7a4692386a31dde23adba796063eb5f05cdd1a6 100644
--- a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
+++ b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
@@ -784,11 +784,11 @@ public class RepositoryEntryRuntimeController extends MainLayoutBasicController
 	}
 	
 	private void doRun(UserRequest ureq, RepositoryEntrySecurity security) {
-		if(ureq.getUserSession().getRoles().isOLATAdmin()) {
+		if(roles.isOLATAdmin() || roles.isInstitutionalResourceManager()) {
 			launchContent(ureq, security);
 		} else {
 			// guest are allowed to see resource with BARG 
-			if(re.getAccess() == RepositoryEntry.ACC_USERS_GUESTS && ureq.getUserSession().getRoles().isGuestOnly()) {
+			if(re.getAccess() == RepositoryEntry.ACC_USERS_GUESTS && roles.isGuestOnly()) {
 				launchContent(ureq, security);
 			} else {
 				AccessResult acResult = acService.isAccessible(re, getIdentity(), security.isMember(), false);