--- oldrange.c	Mon Feb 18 17:12:09 2002
+++ gtkrange.c	Mon Feb 18 17:21:31 2002
@@ -1256,25 +1256,13 @@
   
   if (range->layout->grab_button == event->button)
     {
-      GtkScrollType scroll;
       MouseLocation grab_location;
 
       grab_location = range->layout->grab_location;
 
-      scroll = range_get_scroll_for_grab (range);
-      
       range_grab_remove (range);
       gtk_range_remove_step_timer (range);
       
-      /* We only do the move if we're still on top of the button at
-       * release
-       */
-      if (grab_location == range->layout->mouse_location &&
-          scroll != GTK_SCROLL_NONE)
-        {
-          gtk_range_scroll (range, scroll);
-        }
-
       if (grab_location == MOUSE_SLIDER)
         update_slider_position (range, event->x, event->y);
 
@@ -2265,6 +2253,8 @@
                    initial_timeout,
                    range);
   range->timer->step = step;
+
+  gtk_range_scroll (range, range->timer->step);
 }
 
 static void
