         //remove all items when we're refreshing data
         self.data.removeAll()
         var temp = [MHGalleryItem]()
+        var foundPhotoLibrary = false
+        
         assetLibrary.enumerateGroupsWithTypes(assetsType, usingBlock: { (group: ALAssetsGroup!, stop:UnsafeMutablePointer<ObjCBool>) -> Void in
             
             guard group != nil && String(group.valueForProperty(ALAssetsGroupPropertyName)) == defaultAlbumName else {
                 return
             }
             
+            foundPhotoLibrary = true
+            
             // get only photos
             group.setAssetsFilter(ALAssetsFilter.allPhotos())
             
             let totalImages = group.numberOfAssets()
+            
+            if totalImages == 0 {
+                 loadFinishedCallback()
+            }
             
             group.enumerateAssetsUsingBlock({ (asset: ALAsset!, idx, stop) -> Void in
                 if asset != nil {

                // TODO handle errors
            }
        )
    }
}

    func loadData(loadFinishedCallback: () -> Void) {
        // don't do anything if we didn't get the authorization from user to access gallery
        if !self.accessToLibraryGranted {
            loadFinishedCallback()
        }
        
        let assetLibrary = ALAssetsLibrary()
