diff --git a/src/syncterm/term.c b/src/syncterm/term.c
index cbefd06eda92cfc174fd13c0dfbb1809c8c61aeb..53b96e80419e9382494cb8d286756560fa58e177 100644
--- a/src/syncterm/term.c
+++ b/src/syncterm/term.c
@@ -730,13 +730,11 @@ BOOL doterm(struct bbslist *bbs)
 			}
 		}
 		else if (speed) {
-			updated=FALSE;
 			sleep=FALSE;
 		}
 		hold_update=oldmc;
-		if(updated)
+		if(updated && sleep)
 			gotoxy(wherex(), wherey());
-		updated=FALSE;
 
 		/* Get local input */
 		while(kbhit()) {
@@ -914,7 +912,7 @@ BOOL doterm(struct bbslist *bbs)
 					}
 			}
 		}
-		if(!updated)
+		if(sleep)
 			SLEEP(1);
 		else
 			MAYBE_YIELD();