diff -durN xemacs-orig/src/insdel.c xemacs/src/insdel.c
--- xemacs-orig/src/insdel.c	Mon Apr 16 23:33:02 2001
+++ xemacs/src/insdel.c	Wed Jul 25 23:48:44 2001
@@ -2922,8 +2922,19 @@
 	  MAP_INDIRECT_BUFFERS (buf, mbuf, bufcons)
 	    {
 	      mbuf->changes->newline_was_deleted = 1;
+              delete_invalidate_line_number_cache (mbuf, pos, pos+1);
 	    }
 	}
+
+      if (ch == '\n')
+        {
+          Bufbyte inserted_char[MAX_EMCHAR_LEN];
+          Bytecount len;
+
+          len = set_charptr_emchar (inserted_char, ch);
+          insert_invalidate_line_number_cache (buf, pos, inserted_char, len);
+        }
+      
       MARK_BUFFERS_CHANGED;
       if (!not_real_change)
 	{