         insets.top += animator.executeIncremental
         
         // We need to restore previous offset because we will animate scroll view insets and regular scroll view animating is not applied then.
+        scrollView.contentOffset.y = previousOffset
+
         UIView.animate(withDuration: 0.2, delay: 0.0, options: .curveLinear, animations: {
             scrollView.contentInset = insets
             scrollView.contentOffset.y = -insets.top

            self.handler?()
            // un-ignore observer
            self.ignoreObserver(false)
        })
        
    }

        // ignore observer
        self.ignoreObserver(true)
        
        // stop scroll view bounces for animation
        scrollView.bounces = false
        
        // call super start
        super.start()
        
