diff --git a/ChangeLog b/ChangeLog
index 89db5d74b51ae1dd8cacea67b0c2284484fcea0e..9663b968fda35a88917234280f97798b8a70717f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-21 Chris Allegretta <chrisa@asty.org>
+	* move.c (do_page_up): Explicitly set current_y to 0 when paging up when not in
+	  smooth scroll mode, as previous fixes would otherwise cause the cursor to not
+	  really be moved to the stop of the screen.
+
 2010-03-07 Chris Allegretta <chrisa@asty.org>
 	* configure.ac, nano.c (handle_sigwinch): Create check for whether LINES and
 	  COLS can safely be redefined.  Fixes compilation issues with cygwin, and likely
diff --git a/src/move.c b/src/move.c
index 8c9c57103419c08cbb60a1bb1fdca4afe637a25f..5124dddb43361e126dd2ffb5ab8a5b1327cba9f0 100644
--- a/src/move.c
+++ b/src/move.c
@@ -68,6 +68,7 @@ void do_page_up(void)
     if (!ISSET(SMOOTH_SCROLL)) {
 #endif
 	openfile->current = openfile->edittop;
+	openfile->current_y = 0;
 	openfile->placewewant = 0;
 #ifndef NANO_TINY
     }