diff --git a/src/main/java/org/olat/group/ui/edit/BusinessGroupEditAccessController.java b/src/main/java/org/olat/group/ui/edit/BusinessGroupEditAccessController.java
index 6785a564740becf34a9319358be5de1e18f5c128..fd89539d16b00e70f2ad987e9e532c44bb94a9c8 100644
--- a/src/main/java/org/olat/group/ui/edit/BusinessGroupEditAccessController.java
+++ b/src/main/java/org/olat/group/ui/edit/BusinessGroupEditAccessController.java
@@ -66,6 +66,10 @@ public class BusinessGroupEditAccessController extends FormBasicController {
 		
 		initForm(ureq);
 	}
+	
+	public int getNumOfBookingConfigurations() {
+		return configController == null ? 0 : configController.getNumOfBookingConfigurations();
+	}
 
 	@Override
 	protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
diff --git a/src/main/java/org/olat/group/ui/edit/BusinessGroupEditController.java b/src/main/java/org/olat/group/ui/edit/BusinessGroupEditController.java
index ccb1ba6f488d6f5b237809dbcc10562987c28d2a..208c829e03665c12e2b90071275c058a55d20021 100644
--- a/src/main/java/org/olat/group/ui/edit/BusinessGroupEditController.java
+++ b/src/main/java/org/olat/group/ui/edit/BusinessGroupEditController.java
@@ -55,6 +55,7 @@ import org.olat.core.util.coordinate.LockResult;
 import org.olat.core.util.event.GenericEventListener;
 import org.olat.core.util.resource.OLATResourceableJustBeforeDeletedEvent;
 import org.olat.group.BusinessGroup;
+import org.olat.group.BusinessGroupManagedFlag;
 import org.olat.group.BusinessGroupService;
 import org.olat.group.GroupLoggingAction;
 import org.olat.group.ui.BGControllerFactory;
@@ -231,7 +232,13 @@ public class BusinessGroupEditController extends BasicController implements Cont
 	private BusinessGroupEditAccessController getAccessController(UserRequest ureq) {
 		if(tabAccessCtrl == null && acModule.isEnabled()) { 
 			tabAccessCtrl = new BusinessGroupEditAccessController(ureq, getWindowControl(), currBusinessGroup);
-	  	listenTo(tabAccessCtrl);
+			if(BusinessGroupManagedFlag.isManaged(currBusinessGroup, BusinessGroupManagedFlag.bookings)
+					&& tabAccessCtrl.getNumOfBookingConfigurations() == 0) {
+				//booking is managed, no booking, don't show it
+				tabAccessCtrl = null;
+			} else {
+				listenTo(tabAccessCtrl);
+			}
 		}
 		if(tabAccessCtrl != null) {
 			tabAccessCtrl.updateBusinessGroup(currBusinessGroup);
diff --git a/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java b/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java
index a3e6f338a7287016ee304ea140ffda744c221e94..45cefe3e80ee59234f8cecd2aea156d1896096db 100644
--- a/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java
+++ b/src/main/java/org/olat/repository/controllers/RepositoryEditPropertiesController.java
@@ -178,9 +178,12 @@ public class RepositoryEditPropertiesController extends BasicController implemen
 	  acCtr = new AccessConfigurationController(ureq, getWindowControl(), repositoryEntry.getOlatResource(), repositoryEntry.getDisplayname(),
 	  		true, !managedBookings);
 	  int access = propPupForm.getAccess();
+	  int numOfBookingConfigs = acCtr.getNumOfBookingConfigurations();
 	  if(access == RepositoryEntry.ACC_USERS || access == RepositoryEntry.ACC_USERS_GUESTS) {
-	  	editproptabpubVC.put("accesscontrol", acCtr.getInitialComponent());
-	  	editproptabpubVC.contextPut("isGuestAccess", Boolean.valueOf(access == RepositoryEntry.ACC_USERS_GUESTS));
+	  	if(!managedBookings || numOfBookingConfigs > 0) {
+	  		editproptabpubVC.put("accesscontrol", acCtr.getInitialComponent());
+	  		editproptabpubVC.contextPut("isGuestAccess", Boolean.valueOf(access == RepositoryEntry.ACC_USERS_GUESTS));
+	  	}
 	  }	  
 		
 		tabbedPane.addListener(this);
@@ -490,9 +493,13 @@ public class RepositoryEditPropertiesController extends BasicController implemen
 				}
 				
 				int access = propPupForm.getAccess();
+			  int numOfBookingConfigs = acCtr.getNumOfBookingConfigurations();
+				boolean managedBookings = RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.bookings);
 				if(access == RepositoryEntry.ACC_USERS || access == RepositoryEntry.ACC_USERS_GUESTS) {
-			  	editproptabpubVC.put("accesscontrol", acCtr.getInitialComponent());
-			  	editproptabpubVC.contextPut("isGuestAccess", Boolean.valueOf(access == RepositoryEntry.ACC_USERS_GUESTS));
+					if(!managedBookings || numOfBookingConfigs > 0) {
+						editproptabpubVC.put("accesscontrol", acCtr.getInitialComponent());
+			  		editproptabpubVC.contextPut("isGuestAccess", Boolean.valueOf(access == RepositoryEntry.ACC_USERS_GUESTS));
+					}
 				} else {
 			  	editproptabpubVC.remove(acCtr.getInitialComponent());
 				}
diff --git a/src/main/java/org/olat/resource/accesscontrol/ui/AccessConfigurationController.java b/src/main/java/org/olat/resource/accesscontrol/ui/AccessConfigurationController.java
index 79486b34651082baf4fcf2b6198e23c5240b70ba..3a0966074655147bbef916c2a0dfa4506d05df51 100644
--- a/src/main/java/org/olat/resource/accesscontrol/ui/AccessConfigurationController.java
+++ b/src/main/java/org/olat/resource/accesscontrol/ui/AccessConfigurationController.java
@@ -118,6 +118,10 @@ public class AccessConfigurationController extends FormBasicController {
 		initForm(ureq);
 	}
 	
+	public int getNumOfBookingConfigurations() {
+		return confControllers.size();
+	}
+	
 	public FormItem getInitialFormItem() {
 		return flc;
 	}