     }
     
     private func refreshStart(scrollView: UIScrollView) {
-        scrollView.contentInset.top = refreshingInsetTop
+        let insetTop = refreshingInsetTop
+        
+        refreshing = false
+        scrollView.contentInset.top = insetTop
+        refreshing = true
         
         sendActionsForControlEvents(.ValueChanged)
         indicator.layer.addAnimation(refreshAnimation(), forKey: ScaleAnimationKey)


public extension SpringIndicator.Refresher {
    public func startRefreshing(sendActions: Bool = false) {
        refreshing = true
        
        if let superview = superview as? UIScrollView {
            addObserver(superview)
        }
        
        if sendActions {

                
                if refreshing && scrollView.dragging == false {
                    refreshStart(scrollView)
                    return
                }
                
