Index: openttd-1.0.2/src/viewport.cpp
===================================================================
--- openttd-1.0.2.orig/src/viewport.cpp	2010-06-28 23:51:01.000000000 +0200
+++ openttd-1.0.2/src/viewport.cpp	2010-06-28 23:51:25.000000000 +0200
@@ -2654,6 +2654,22 @@
 
 	/* while dragging execute the drag procedure of the corresponding window (mostly VpSelectTilesWithMethod() ) */
 	if (_left_button_down) {
+		Point delta = { 0, 0 };
+		if (_cursor.pos.x > _screen.width * 0.96f) {
+			delta.x = 2;
+		} else if (_cursor.pos.x < _screen.width * 0.04f) {
+			delta.x = -2;
+		}
+		if (_cursor.pos.y > _screen.height * 0.96f) {
+			delta.y = 2;
+		} else if (_cursor.pos.y < _screen.height * 0.04f) {
+			delta.y = -2;
+		}
+		if (delta.x != 0 || delta.y != 0) {
+			Window * mw = FindWindowById(WC_MAIN_WINDOW, 0);
+			mw->OnScroll(delta);
+		}
+
 		w->OnPlaceDrag(_thd.select_method, _thd.select_proc, GetTileBelowCursor());
 		return false;
 	}
