diff --git a/ChangeLog b/ChangeLog
index dd40995e292adbc435f48f9990aaed7cb4db1a26..a4d2bad102acd962657bcd62feb838a689e80376 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -383,6 +383,10 @@ CVS code -
 	  This matches the manual page. (DLR)
   nperror()
 	- Simplify. (DLR)
+  check_linenumbers()
+	- Removed, as it's no longer used, and since there's no way to
+	  tell if its return value will be in int or ssize_t range.
+	  (DLR)
 - winio.c:
   parse_kbinput()
 	- If we get NANO_CONTROL_8, properly handle it in all cases.
@@ -416,6 +420,8 @@ CVS code -
 	  well as single-line ones.  This avoids a segfault when trying
 	  to color e.g. "start="$" end="$"". (DLR, found by Trevor
 	  Caira)
+  update_line()
+	- Remove unneeded assert. (DLR)
   edit_redraw()
 	- Fix problem where not all lines would be updated properly if
 	  we'd scrolled off the screen and the mark was on. (DLR)
diff --git a/src/proto.h b/src/proto.h
index 1bc0f1432462d6fb6675726ccf562f1d0aad3032..90269763c135499fe1f6587eba470cb42ff92e32 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -704,9 +704,6 @@ void mark_order(const filestruct **top, size_t *top_x, const filestruct
 	**bot, size_t *bot_x, bool *right_side_up);
 #endif
 size_t get_totsize(const filestruct *begin, const filestruct *end);
-#ifndef NDEBUG
-int check_linenumbers(const filestruct *fileptr);
-#endif
 #ifdef DEBUG
 void dump_filestruct(const filestruct *inptr);
 void dump_filestruct_reverse(void);
diff --git a/src/utils.c b/src/utils.c
index 475a87459a8f9cebc782e88bed5e09651d40077c..b6be0ee53276b9f6ba66ee1179188e2fd3011f2d 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -581,22 +581,6 @@ size_t get_totsize(const filestruct *begin, const filestruct *end)
     return totsize;
 }
 
-#ifndef NDEBUG
-/* Return what the current line number should be, starting at edittop
- * and ending at fileptr. */
-int check_linenumbers(const filestruct *fileptr)
-{
-    int check_line = 0;
-    const filestruct *filetmp;
-
-    for (filetmp = openfile->edittop; filetmp != fileptr;
-	filetmp = filetmp->next)
-	check_line++;
-
-    return check_line;
-}
-#endif /* !NDEBUG */
-
 #ifdef DEBUG
 /* Dump the filestruct inptr to stderr. */
 void dump_filestruct(const filestruct *inptr)
diff --git a/src/winio.c b/src/winio.c
index 10e44bfb2a4bdef81531c1172f60f778cc6f2fb2..0cee05bb1c6eeb04519f5f872a9b2ef4624f4150 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -2635,9 +2635,6 @@ void update_line(const filestruct *fileptr, size_t index)
 
     line = fileptr->lineno - openfile->edittop->lineno;
 
-    /* We assume the line numbers are valid.  Is that really true? */
-    assert(line < 0 || line == check_linenumbers(fileptr));
-
     if (line < 0 || line >= editwinrows)
 	return;