diff --git a/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate b/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate
index 8669d9c6f5033c419fb7a4de69f30c253bf58be8..652a92811bd5a0405b306f1dbf06a36ceeee3cd4 100644
Binary files a/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate and b/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m b/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m
index 9bf428e9c41b04701ce84f394674ec8d68d258d2..298ae9096f85edd2185752e687afb3e3d0ad9920 100644
--- a/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m
+++ b/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m
@@ -157,7 +157,7 @@
     CISDOBIpadEntity *object = [self.openBisModel objectAtIndexPath: indexPath];
     cell.textLabel.text = object.summaryHeader;
     cell.detailTextLabel.text = object.summary;
-    if ([object.childrenPermIds count] > 0) {
+    if ([self.openBisModel entityHasChildren: object]) {
         cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
     } else {
         cell.accessoryType = UITableViewCellAccessoryNone;
diff --git a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h
index 7c36841974c144870ce8540586d01164a8c0514e..a377d638615e4ce57dceae97298d4a38ffc3c655 100644
--- a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h
+++ b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h
@@ -52,7 +52,8 @@
 
 //! Select the object and return it
 - (CISDOBIpadEntity *)selectObjectAtIndexPath:(NSIndexPath *)indexPath;
-- (BOOL)selectionHasChildren; //!< Return YES if the selected object is a group (has children)
+- (BOOL)selectionHasChildren; //!< Return YES if the selected object has children in the selection context
+- (BOOL)entityHasChildren:(CISDOBIpadEntity *)entity; //!< Return YES if the entity has children in the selection context.
 
 // Actions
 - (BOOL)insertNewObjectOrError:(NSError **)error; //!< Return YES if operation succeeded
diff --git a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m
index e30061c63e0110934fba82d7d219967c3f263aa0..b55d0cea1de97bf8a27d2da7d2d17d36ed475322 100644
--- a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m
+++ b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m
@@ -82,7 +82,16 @@
 
 - (BOOL)selectionHasChildren
 {
-    return [_selectedObject.childrenPermIds count] > 0;
+    if (!_selectedObject) return NO;
+    return [self entityHasChildren: _selectedObject];
+}
+
+- (BOOL)entityHasChildren:(CISDOBIpadEntity *)entity
+{
+    // In this case we are already looking at the children. No need to allow circular recursion.
+    if (_parentModel && [entity isEqual: _parentModel.selectedObject]) return NO;
+    
+    return [entity.childrenPermIds count] > 0;
 }
 
 #pragma mark - Actions