diff --git a/BUGS b/BUGS
index a3412e8ae960c8843f9a678f467beeead218258a..6e8c7548a98766d362699fd7e89c06de3b55f545 100644
--- a/BUGS
+++ b/BUGS
@@ -101,6 +101,8 @@
   (55, discovered by Mark Senior) [FIXED].
 - When using -R (regex) and -p (pico mode), subsequent searches after
   the first fail if no string is entered (56) [FIXED].
+- Page down on a file of editwinrows fails (again). Reported by Ryan
+  Krebs (57) [FIXED].
 
 ** Open BUGS **
 
diff --git a/ChangeLog b/ChangeLog
index 1b5565ae1784f7e31a056a36559951148e22af97..5e25e1884d2c54184583d27bd4ea820ba30de1a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,10 @@ CVS code -
 	- Added case for autoindenting text causing new line (Adam).
 	- Added SAMELINE case to above.  Added checks to cases 1b and
 	  2b for placement of cursor.
+- move.c:
+  page_down()
+	- Check for totlines < editwinrows in check for superflous 
+	  edit update (fixed BUG #57).
 - search.c:
   print_replaced()
 	- s/occurence/occurrence typos (Jordi).
diff --git a/move.c b/move.c
index f73e838e4092407ae4b60435724ca7e40b0e2ea6..bda2c3c84573dd37755a30bdf83a89f16bb6d656 100644
--- a/move.c
+++ b/move.c
@@ -57,7 +57,7 @@ int page_down(void)
 
     /* AHEM, if we only have a screen or less of text, DONT do an
 	edit_update, just move the cursor to editbot! */
-    if (edittop == fileage && editbot == filebot) {
+    if (edittop == fileage && editbot == filebot && totlines < editwinrows) {
 	current = editbot;
 	reset_cursor();
     } else if (editbot != filebot || edittop == fileage) {