diff --git a/src/winio.c b/src/winio.c
index f72a8e68b77b6fecac25d2787dab11ff2ad52ee0..e06a8ee1e3df8187a3223dcdc11aba872af60594 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -3182,7 +3182,11 @@ void do_cursorpos(bool force)
     size_t cur_lenpt = strlenpt(openfile->current->data) + 1;
     int linepct, colpct, charpct;
 
-    assert(openfile->fileage != NULL && openfile->current != NULL);
+    /* If the showing needs to be suppressed, don't suppress it next time. */
+    if (suppress_cursorpos && !force) {
+	suppress_cursorpos = FALSE;
+	return;
+    }
 
     /* Hide the cursor while we are calculating. */
     curs_set(0);
@@ -3199,12 +3203,6 @@ void do_cursorpos(bool force)
     if (openfile->current != openfile->filebot)
 	sum--;
 
-    /* If the showing needs to be suppressed, don't suppress it next time. */
-    if (suppress_cursorpos && !force) {
-	suppress_cursorpos = FALSE;
-	return;
-    }
-
     /* Display the current cursor position on the statusbar. */
     linepct = 100 * openfile->current->lineno / openfile->filebot->lineno;
     colpct = 100 * cur_xpt / cur_lenpt;