                 strongSelf._presentedImageViewSize = strongSelf.imageViewSizeForImage(image: image)
                 strongSelf.imageView.frame.size = strongSelf._presentedImageViewSize
                 strongSelf.imageView.center = strongSelf.view.center
+                
+                // No datasource, only 1 item in collection view --> reloadData
+                guard let dataSource = strongSelf.dataSource else {
+                    strongSelf.collectionView.reloadData()
+                    return
+                }
             }
         }
         


//MARK: UICollectionViewDataSource
extension DTPhotoViewerController: UICollectionViewDataSource {
    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return dataSource?.numberOfItems(in: self) ?? 1
    }

            let size = image.size
            var destinationSize = CGSize.zero
            
            // Calculate size of image view so that it would fit in self.view
            // This will make the transition more perfect than setting frame of UIImageView as self.view.bounds
            if image.size.width/image.size.height > view.frame.size.width/view.frame.size.height {
                destinationSize.width = view.frame.size.width
                destinationSize.height = view.frame.size.width * (size.height / size.width)
            }
