diff --git a/src/fileio.c b/src/fileio.c
index 7cbbfb1..ed5a653 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2318,16 +2318,13 @@
 		p = msg_trunc_attr(IObuff, FALSE, 0);
 	    if (read_stdin || read_buffer || restart_edit != 0
 		    || (msg_scrolled != 0 && !need_wait_return))
-	    {
 		/* Need to repeat the message after redrawing when:
 		 * - When reading from stdin (the screen will be cleared next).
 		 * - When restart_edit is set (otherwise there will be a delay
 		 *   before redrawing).
 		 * - When the screen was scrolled but there is no wait-return
 		 *   prompt. */
-		set_keep_msg(p);
-		keep_msg_attr = 0;
-	    }
+		set_keep_msg(p, 0);
 	    msg_scrolled_ign = FALSE;
 	}
 
@@ -2335,6 +2332,7 @@
 	if (newfile && (error
 #ifdef FEAT_MBYTE
 		    || conv_error != 0
+		    || (illegal_byte > 0 && bad_char_behavior != BAD_KEEP)
 #endif
 		    ))
 	    curbuf->b_p_ro = TRUE;
@@ -4377,8 +4375,7 @@
 		STRCAT(IObuff, shortmess(SHM_WRI) ? _(" [w]") : _(" written"));
 	}
 
-	set_keep_msg(msg_trunc_attr(IObuff, FALSE, 0));
-	keep_msg_attr = 0;
+	set_keep_msg(msg_trunc_attr(IObuff, FALSE, 0), 0);
     }
 
     /* When written everything correctly: reset 'modified'.  Unless not
diff --git a/src/proto/message.pro b/src/proto/message.pro
index a4095f2..e029964 100644
--- a/src/proto/message.pro
+++ b/src/proto/message.pro
@@ -16,7 +16,8 @@
 void ex_messages __ARGS((exarg_T *eap));
 void msg_end_prompt __ARGS((void));
 void wait_return __ARGS((int redraw));
-void set_keep_msg __ARGS((char_u *s));
+void set_keep_msg __ARGS((char_u *s, int attr));
+void set_keep_msg_from_hist __ARGS((void));
 void msg_start __ARGS((void));
 void msg_starthere __ARGS((void));
 void msg_putchar __ARGS((int c));
