 						contentOffset = newOffset
 						
 						if let draggingView = draggingView {
-                            if isWithinBoundsOfTable(location, withDraggingView: draggingView) {
-                                draggingView.center = CGPoint(x: center.x, y: location.y)
-                            }
+                            draggingView.center = CGPoint(x: center.x, y: getDragginViewsNewYCenter(draggingView, with: location))
 						}
 						
 						updateCurrentLocation(gesture)

		else if gesture.state == .changed {
			
			if let draggingView = draggingView {
				// Update position of the drag view,
				// but don't let it go past the top or the bottom too far.
                if isWithinBoundsOfTable(location, withDraggingView: draggingView) {
                    draggingView.center = CGPoint(x: center.x, y: location.y)
                }
				if let previousGestureVerticalPosition = self.previousGestureVerticalPosition {
					if location.y != previousGestureVerticalPosition {
						longPressReorderDelegate?.tableView?(self, draggingGestureChanged: gesture)

							// Zoom image towards user.
							UIView.beginAnimations("LongPressReorder-Zoom", context: nil)
							draggingView.transform = CGAffineTransform(scaleX: 1.1, y: 1.1)
                            draggingView.center = CGPoint(x: center.x, y: getDragginViewsNewYCenter(draggingView, with: location))
							UIView.commitAnimations()
						}
					}
