diff --git a/src/diff.c b/src/diff.c
index daa1f19c2d54daad356adfd1e8aa0b0652c9aeb4..b6f33541541730f22dbf2a6068c37f846c6f730f 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -2014,6 +2014,7 @@ ex_diffgetput(eap)
     int		start_skip, end_skip;
     int		new_count;
     int		buf_empty;
+    int		found_not_ma = FALSE;
 
     /* Find the current buffer in the list of diff buffers. */
     idx_cur = diff_buf_idx(curbuf);
@@ -2028,13 +2029,19 @@ ex_diffgetput(eap)
 	/* No argument: Find the other buffer in the list of diff buffers. */
 	for (idx_other = 0; idx_other < DB_COUNT; ++idx_other)
 	    if (curtab->tp_diffbuf[idx_other] != curbuf
-		    && curtab->tp_diffbuf[idx_other] != NULL
-		    && (eap->cmdidx != CMD_diffput
-					       || curtab->tp_diffbuf[idx_other]->b_p_ma))
-		break;
+		    && curtab->tp_diffbuf[idx_other] != NULL)
+	    {
+		if (eap->cmdidx != CMD_diffput
+				     || curtab->tp_diffbuf[idx_other]->b_p_ma)
+		    break;
+		found_not_ma = TRUE;
+	    }
 	if (idx_other == DB_COUNT)
 	{
-	    EMSG(_("E100: No other buffer in diff mode"));
+	    if (found_not_ma)
+		EMSG(_("E793: No other buffer in diff mode is modifiable"));
+	    else
+		EMSG(_("E100: No other buffer in diff mode"));
 	    return;
 	}
 
diff --git a/src/version.c b/src/version.c
index c8c8834f4394e4d2e75931bbd4b5de2db3e69312..ce139241753a46db2b1cea409af4efeda982fa3f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    201,
 /**/
     200,
 /**/