diff --git a/ChangeLog b/ChangeLog
index b6610ba8800df465bafdfd3f6ed6467c840801c5..b7e299005c1a1837bcc15c37d0538219bdad228c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,6 +26,9 @@ CVS code -
   main()
 	- Check that alt value is an alpha char before comparing to 
 	  val - 32, fixes Alt-R calling doprev instead of replace.
+  do_char()
+	- Run edit_refresh() if ENABLE_COLOR is defined so adding
+	  multi-liners will update (e.g. /* in C).
   do_suspend()
 	- Call tcsetattr() to restore the old terminal settings, so
 	  tcsh can use ^C after suspend for example (fixes BUG #68).
diff --git a/nano.c b/nano.c
index 1635b6b17937b51e5ccc6e1bdc38bd0e0a49e87c..37fa6a529ca2ca9edd4b577f5c9212be0a2bf2bb 100644
--- a/nano.c
+++ b/nano.c
@@ -685,6 +685,10 @@ void do_char(char ch)
     current->data[current_x] = ch;
     do_right();
 
+#ifdef ENABLE_COLOR
+    edit_refresh();
+#endif
+
 #ifndef DISABLE_WRAPPING
     if (!ISSET(NO_WRAP) && (ch != '\t'))
 	check_wrap(current, ch);