updated for version 7.2-265
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 2bdf0c7..8c74dd8 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2695,7 +2695,7 @@
     {
 	/* messages could be enabled for a serious error, need to check if the
 	 * counters don't become negative */
-	if (!did_emsg)
+	if (!did_emsg || msg_silent > save_msg_silent)
 	    msg_silent = save_msg_silent;
 	emsg_silent -= did_esilent;
 	if (emsg_silent < 0)