updated for version 7.0049
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 5cecf30..899e4c8 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -594,6 +594,14 @@
     MSG(_("Entering Ex mode.  Type \"visual\" to go to Normal mode."));
     while (exmode_active)
     {
+#ifdef FEAT_EX_EXTRA
+	/* Check for a ":normal" command and no more characters left. */
+	if (ex_normal_busy > 0 && typebuf.tb_len == 0)
+	{
+	    exmode_active = FALSE;
+	    break;
+	}
+#endif
 	msg_scroll = TRUE;
 	need_wait_return = FALSE;
 	ex_pressedreturn = FALSE;