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 90b853ce2aee4e36e9b026d16e6b77b5e5c93dbb..0202be35a164aa776ec32b7a689a5db0108646b1 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 f60006503765e68eebc3be92d3d2a985da5cc11f..20b36ba17791f98ecfd372ea87ef3469161aa52b 100644
--- a/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m
+++ b/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m
@@ -29,6 +29,7 @@
 
 @interface CISDOBMasterViewController ()
 - (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
+- (void)initializeDrillDownFrom:(CISDOBMasterViewController *)parent;
 @end
 
 @implementation CISDOBMasterViewController
@@ -126,14 +127,13 @@
     // Segue to the detail view unless we are on the ipad
     if ([[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPad) return;
 
-    CISDOBIpadEntity *object = [self.openBisModel objectAtIndexPath: indexPath];
-    if ([object.childrenPermIds count] > 0) {
+    CISDOBIpadEntity *object = [self.openBisModel selectObjectAtIndexPath: indexPath];
+    if ([self.openBisModel isSelectionGroup]) {
         UIStoryboard *storyboard = self.storyboard;
-        CISDOBMasterViewController *controller = [storyboard instantiateViewControllerWithIdentifier: @"Master"];
-        controller.openBisModel = self.openBisModel;
-        controller.title = object.summaryHeader;
+        CISDOBMasterViewController *child = [storyboard instantiateViewControllerWithIdentifier: @"Master"];
+        [child initializeDrillDownFrom: self];
 
-        [self.navigationController pushViewController: controller animated: YES];
+        [self.navigationController pushViewController: child animated: YES];
     } else {
         self.detailViewController.detailItem = object;
     }
@@ -161,6 +161,12 @@
     }
 }
 
+- (void)initializeDrillDownFrom:(CISDOBMasterViewController *)parent
+{
+    self.openBisModel = parent.openBisModel;
+    self.title = self.openBisModel.selectedObject.summaryHeader;
+}
+
 #pragma mark - Fetched results controller
 
 - (void)controllerWillChangeContent:(NSFetchedResultsController *)controller
diff --git a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h
index f5175614ecedcaa440212b20ebac2a6c634d3b9c..865c2ee0364eb7be8f81a647bdc3b69fff04c494 100644
--- a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h
+++ b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h
@@ -28,20 +28,25 @@
  * \brief A model for the interaction with openBIS.
  */
 @interface CISDOBOpenBisModel : NSObject <NSFetchedResultsControllerDelegate> {
-
+    CISDOBIpadEntity *_selectedObject;
 }
 
 @property (strong, nonatomic) NSFetchedResultsController *fetchedResultsController;
 @property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
 @property (weak, nonatomic) id <NSFetchedResultsControllerDelegate> delegate;
+@property (readonly) CISDOBIpadEntity *selectedObject;
 
 // Model
-
 - (NSInteger)numberOfSections; //!< Get the number of categories for the current selection
 - (NSInteger)numberOfEntitiesInSection:(NSInteger)section;
 - (NSString *)titleForHeaderInSection:(NSInteger)section;
 - (CISDOBIpadEntity *)objectAtIndexPath:(NSIndexPath *)indexPath;
 
+// Selection
+//! Select the object and return it
+- (CISDOBIpadEntity *)selectObjectAtIndexPath:(NSIndexPath *)indexPath;
+- (BOOL)isSelectionGroup; //!< Return YES if the selected object is a group (has children)
+
 // Actions
 - (BOOL)insertNewObjectOrError:(NSError **)error; //!< Return YES if operation succeeded
 - (BOOL)deleteObjectAtIndexPath:(NSIndexPath *)indexPath error:(NSError **)error; //!< Return YES if operation succeeded
diff --git a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m
index 3cb5409924c0a59a8db033f0396cd46c4b2bf500..33da2d3f605a68d3e2084504b7aafae8022f5fb9 100644
--- a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m
+++ b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m
@@ -51,6 +51,18 @@
     return [self.fetchedResultsController objectAtIndexPath:indexPath];
 }
 
+#pragma mark - Selection
+- (CISDOBIpadEntity *)selectObjectAtIndexPath:(NSIndexPath *)indexPath
+{
+    _selectedObject = [self objectAtIndexPath: indexPath];
+    return _selectedObject;
+}
+
+- (BOOL)isSelectionGroup
+{
+    return [_selectedObject.childrenPermIds count] > 0;
+}
+
 #pragma mark - Actions
 - (BOOL)insertNewObjectOrError:(NSError **)error
 {