diff --git a/src/main/java/org/olat/gui/control/OlatTopNavController.java b/src/main/java/org/olat/gui/control/OlatTopNavController.java
index 660f92b9c089ae2d3d856686b4686a12915c7737..aab19d786160359b776b338974d2f705d586f19f 100644
--- a/src/main/java/org/olat/gui/control/OlatTopNavController.java
+++ b/src/main/java/org/olat/gui/control/OlatTopNavController.java
@@ -70,11 +70,11 @@ public class OlatTopNavController extends BasicController implements LockableCon
 		Roles roles = ureq.getUserSession().getRoles();
 		boolean isGuest = roles.isGuestOnly();
 		boolean isInvitee = roles.isInvitee();
-		topNavVC.contextPut("isGuest", new Boolean(isGuest));
-		topNavVC.contextPut("isInvitee", new Boolean(isInvitee));
+		topNavVC.contextPut("isGuest", Boolean.valueOf(isGuest));
+		topNavVC.contextPut("isInvitee", Boolean.valueOf(isInvitee));
 		
 		// login link
-		if (ureq.getIdentity() == null) {
+		if (ureq.getIdentity() == null || isGuest) {
 			loginLink = LinkFactory.createLink("topnav.login", topNavVC, this);
 			loginLink.setIconLeftCSS("o_icon o_icon_login o_icon-lg");
 			loginLink.setTooltip("topnav.login.alt");
diff --git a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
index 81d1249d1323d8a3e3af3fabfaabef48e27aa97c..ae03385fec7333fd320c0ca217e47da97b93c162 100644
--- a/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
+++ b/src/main/java/org/olat/repository/ui/RepositoryEntryRuntimeController.java
@@ -950,7 +950,7 @@ public class RepositoryEntryRuntimeController extends MainLayoutBasicController
 			// guest are allowed to see resource with BARG
 			if(security.canLaunch()) {
 				launchContent(ureq);
-			} else if(re.isBookable()) {
+			} else if(re.isBookable() && canBook()) {
 				AccessResult acResult = acService.isAccessible(re, getIdentity(), security.isMember(), false);
 				if(acResult.isAccessible()) {
 					launchContent(ureq);
@@ -978,6 +978,11 @@ public class RepositoryEntryRuntimeController extends MainLayoutBasicController
 		}
 	}
 	
+	private boolean canBook() {
+		// need to check organization too?
+		return !roles.isGuestOnly();
+	}
+	
 	private void accessRefused(UserRequest ureq) {
 		Controller ctrl = new AccessRefusedController(ureq, getWindowControl());
 		listenTo(ctrl);