                 // TODO handle errors
             }
         )
+        
+        if !foundPhotoLibrary {
+            loadFinishedCallback()
+        }
+        
     }
 }

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

        //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 {
