                 self.setViewsToPosition(.refresh)
                 self.tabBarPositionYDidChange()
             }) { finished in
-                if finished {
-                    finalizeCompletion()
-                }
                 completion?(finished)
             }
         } else {
             pageTabBarController.view.transform = .identity
             setViewsToPosition(.refresh)
             tabBarPositionYDidChange()
-            finalizeCompletion()
             completion?(true)
         }
-        
     }
     
     // MARK: - Scroll View Monitoring

            return
        }
        
        let prepareCompletion: () -> () = {
            self.headerTransitionView.isHidden = false
        }

        
        if animated {
            UIView.animate(withDuration: duration, animations: {
                self.pageTabBarController.view.transform = CGAffineTransform(translationX: 0, y: spacingHeight)
            }) { finished in
                prepareCompletion()
                completion?(finished)
            }
        } else {
            pageTabBarController.view.transform = CGAffineTransform(translationX: 0, y: spacingHeight)
            prepareCompletion()
            completion?(true)
        }
    }
    
    open func turnOffTabBarTransitionMode(headerHeight: CGFloat, duration: TimeInterval, animated: Bool, completion: ((Bool) -> ())? = nil) {
        parallaxHeaderHeight = headerHeight
        
        if animated {
            UIView.animate(withDuration: duration, animations: {
