diff --git a/ChangeLog b/ChangeLog
index 4eddbe75a8dfa09216a62215976309c1a48c16b7..22014093542819cb7c9f25c3f85d804bc458ccb9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -415,10 +415,24 @@ GNU nano 1.1.10 - 07/25/2002
   do_credits()
 	- Fix for the i18ned credits so it will compile with -pedantic
 	  (DLR & Chris).
+  do_help()
+	- Add support for the handled keyboard escape sequences in the
+	  help menu, as they are needed with some terminals (e.g. xterm
+	  with TERM=ansi). (DLR)
+  edit_refresh()
+	- Turn on leaveok() so the cursor doesn't bounce around the 
+	  screen while we're updating it (most noticeable when using
+	  color syntax over a very slow connection).
+  do_replace_highlight()
+	- When using regexps, make sure the highlight is the length of
+	  the search result and not the regexp string. (DLR)
   nanogetstr()
 	- After the user presses Enter at the prompt, refresh the edit
 	  window in case there's a list of possible filename matches
 	  (left over from attempted tab completion) on it. (DLR)
+  statusbar()
+	- Limit statusbar display to the number of columns less four, and
+	  don't allow it to go over its original row. (David Benbennick)
   titlebar()
 	- Tweak text spacing and printing so that the titlebar text looks
 	  better on smaller terminals. (Carl Drinkwater)
@@ -431,16 +445,6 @@ GNU nano 1.1.10 - 07/25/2002
 	  beforehand) as ^@'s. (DLR)
 	- Fix to properly treat ASCII 128-159 as control characters.
 	  (DLR)
-  statusbar()
-	- Limit statusbar display to the number of columns less four, and
-	  don't allow it to go over its original row. (David Benbennick)
-  do_help()
-	- Add support for the handled keyboard escape sequences in the
-	  help menu, as they are needed with some terminals (e.g. xterm
-	  with TERM=ansi). (DLR)
-  do_replace_highlight()
-	- When using regexps, make sure the highlight is the length of
-	  the search result and not the regexp string. (DLR)
 - configure.ac:
 	- Added ms to ALL_LINGUAS (Jordi).
 	- Merged acconfig.h in (Jordi).
diff --git a/winio.c b/winio.c
index 9f27d647ea63a6242162ee03dfd1b1a42a6f5fd5..e672ced1dc56151c041d93d99be6f404e2838f32 100644
--- a/winio.c
+++ b/winio.c
@@ -1151,6 +1151,9 @@ void edit_refresh(void)
     if (edittop == NULL)
 	edittop = current;
 
+    /* Don't make the cursor jump around the scrrn whilst updating */
+    leaveok(edit, TRUE);
+
     editbot = edittop;
     while (nlines < editwinrows) {
 	update_line(editbot, current_x);
@@ -1163,6 +1166,7 @@ void edit_refresh(void)
 	    break;
 	editbot = editbot->next;
     }
+
     /* If noloop == 1, then we already did an edit_update without finishing
        this function.  So we don't run edit_update again */
     if (!currentcheck && !noloop) {
@@ -1180,6 +1184,7 @@ void edit_refresh(void)
     /* What the hell are we expecting to update the screen if this isn't 
        here? Luck?? */
     wrefresh(edit);
+    leaveok(edit, FALSE);
 }
 
 /*