diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 3c865e784949e9b97c7831592f237c3bf1fdce99..656b1f49d1d734b981bf65b9313e32483b908927 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -4878,7 +4878,7 @@ do_sub(eap)
 			goto skip;
 		    }
 		    if (got_quit)
-			break;
+			goto skip;
 		}
 
 		/* Move the cursor to the start of the match, so that we can
diff --git a/src/testdir/test80.in b/src/testdir/test80.in
index 2decb4dbcf5fd98a897d6d5e5fd93b38eadba09e..df4afbb1d2002f45444e1943177f2424a93df758 100644
--- a/src/testdir/test80.in
+++ b/src/testdir/test80.in
@@ -153,11 +153,22 @@ STARTTEST
 :s/\(^\|,\)\ze\(,\|Y\)/\1N/gc
 a:$put =',,Z'
 :s/\(^\|,\)\ze\(,\|Z\)/\1N/gc
-yy/^TEST_9
+yy/^TEST_9:
 ENDTEST
 
 TEST_9:
 
+STARTTEST
+:set magic&
+:set cpo&
+:$put =\"\n\nTEST_9:\"
+:$put ='xxx'
+:s/x/X/gc
+yyq/^TEST_10:
+ENDTEST
+
+TEST_10:
+
 STARTTEST
 :/^Results/,$wq! test.out
 ENDTEST
diff --git a/src/testdir/test80.ok b/src/testdir/test80.ok
index 775d985312a80a6558dea0477dd210083edd35f4..b08d3036f35c497f4794d094dd49b99b0b9d0052 100644
--- a/src/testdir/test80.ok
+++ b/src/testdir/test80.ok
@@ -105,3 +105,7 @@ TEST_8:
 N,,NX
 N,,NY
 N,,NZ
+
+
+TEST_9:
+XXx
diff --git a/src/version.c b/src/version.c
index 90ac7247e98949f2a170f2192749828603585ac1..6f3020cae2b102e600e0d85e43138e22e4fb49a8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -725,6 +725,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    803,
 /**/
     802,
 /**/