--- org/NSScrollView.m	2003-01-23 09:51:09.000000000 -0200
+++ Source/NSScrollView.m	2003-01-23 10:07:20.000000000 -0200
@@ -545,28 +545,9 @@
 	}
     }
 
-  if (_hasHeaderView)
-    {
-      NSPoint scrollTo;
-
-      scrollTo = [_headerClipView bounds].origin;
-      scrollTo.x += point.x - clipViewBounds.origin.x;
-      [_headerClipView scrollToPoint: scrollTo];
-    }
   [_contentView scrollToPoint: point];
-
-  if (_rulersVisible == YES)
-    {
-      if (_hasHorizRuler)
-	{
-	  [_horizRuler setNeedsDisplay: YES];
-	}
-      if (_hasVertRuler)
-	{
-	  [_vertRuler setNeedsDisplay: YES];
-	}
-    }
-  
+  /* scrollToPoint will call reflectScrollerClipView, and that will
+     update scrollers, rulers and headers */
 }
 
 - (void) reflectScrolledClipView: (NSClipView *)aClipView
@@ -649,11 +630,21 @@
       if (headerClipViewOrigin.x != clipViewBounds.origin.x)
 	{
 	  headerClipViewOrigin.x = clipViewBounds.origin.x;
-	  headerClipViewOrigin = [_headerClipView constrainScrollPoint: 
-						    headerClipViewOrigin];
 	  [_headerClipView scrollToPoint: headerClipViewOrigin];
 	}
     }
+
+  if (_rulersVisible == YES)
+    {
+      if (_hasHorizRuler)
+	{
+	  [_horizRuler setNeedsDisplay: YES];
+	}
+      if (_hasVertRuler)
+	{
+	  [_vertRuler setNeedsDisplay: YES];
+	}
+    }
   
 }
 
