updated for version 7.0158
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 7242381..4a4e89f 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2152,20 +2152,16 @@
 	 */
 	if (!global_busy && ea.line1 > ea.line2)
 	{
-	    if (sourcing || exmode_active)
+	    if (msg_silent == 0)
 	    {
-		errormsg = (char_u *)_("E493: Backwards range given");
-		goto doend;
-	    }
-	    else
-	    {
-		int	msg_silent_save = msg_silent;
-
-		msg_silent = 0;
+		if (sourcing || exmode_active)
+		{
+		    errormsg = (char_u *)_("E493: Backwards range given");
+		    goto doend;
+		}
 		if (ask_yesno((char_u *)
 			_("Backwards range given, OK to swap"), FALSE) != 'y')
-		goto doend;
-		msg_silent = msg_silent_save;
+		    goto doend;
 	    }
 	    lnum = ea.line1;
 	    ea.line1 = ea.line2;