             // reset circular buffer index/length
             mouseEventLength = 0;
             
-            addMouseEventHistory(mouseEvent);
+            addMouseEventHistory(mouseEvent.stageX, mouseEvent.stageY);
         }
         else if (event is TouchEvent && event.type == TouchEvent.TOUCH_BEGIN)
         {

            var dx:Number = event.stageX - scrollGestureAnchorPoint.x;
            var dy:Number = event.stageY - scrollGestureAnchorPoint.y;
            
            scroller.performDrag(dx, dy);
            
            // Call updateAfterEvent() to make sure it looks smooth
            event.updateAfterEvent();
        }
    }
    
    /**
     *  @private
     *  Called when the user releases the mouse/touches up

     */
    private function sbRoot_mouseMoveHandler(event:MouseEvent):void
    {
        var mouseDownedDifference:Point = 
            new Point(event.stageX - mouseDownedPoint.x, event.stageY - mouseDownedPoint.y);   
        
        if (!isScrolling)
        {
