     }
 
     func reloadSection(section: Int, animated: Bool = false) {
-        if animated {
+        if animated && !self[section].hidden {
             applyUpdates(section: section)
             self.collectionView.reloadSections([section])
         } else {


    func reloadData(animated: Bool = false) {
        self.calculateSizeInBackground()
        if animated && !hasAcyncSizingItem {
            self.collectionView.performBatchUpdates({
                self.applyUpdatesAnimating()

                if remainedDeleteIndexPaths.count > 0 {
                    remainedUpdates.append(.delete(indexPaths: remainedDeleteIndexPaths))
                }
            case .appendSupplementary(_, _, let section):
                if section != sectionIndex {
                    remainedUpdates.append(update)
                }
            case .deleteSupplementary(_, let section):
                if section != sectionIndex {
                    remainedUpdates.append(update)
                }
            }
        }
        self._updates = remainedUpdates
