diff --git a/src/fileio.c b/src/fileio.c
index 240c7e9..02e5ad1 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2720,6 +2720,7 @@
 	int		buf_fname_f = FALSE;
 	int		buf_fname_s = FALSE;
 	int		did_cmd = FALSE;
+	int		nofile_err = FALSE;
 
 	/*
 	 * Apply PRE aucocommands.
@@ -2742,8 +2743,13 @@
 	{
 	    if (!(did_cmd = apply_autocmds_exarg(EVENT_FILEAPPENDCMD,
 					 sfname, sfname, FALSE, curbuf, eap)))
-		apply_autocmds_exarg(EVENT_FILEAPPENDPRE,
+	    {
+		if (bt_nofile(curbuf))
+		    nofile_err = TRUE;
+		else
+		    apply_autocmds_exarg(EVENT_FILEAPPENDPRE,
 					  sfname, sfname, FALSE, curbuf, eap);
+	    }
 	}
 	else if (filtering)
 	{
@@ -2754,15 +2760,25 @@
 	{
 	    if (!(did_cmd = apply_autocmds_exarg(EVENT_BUFWRITECMD,
 					 sfname, sfname, FALSE, curbuf, eap)))
-		apply_autocmds_exarg(EVENT_BUFWRITEPRE,
+	    {
+		if (bt_nofile(curbuf))
+		    nofile_err = TRUE;
+		else
+		    apply_autocmds_exarg(EVENT_BUFWRITEPRE,
 					  sfname, sfname, FALSE, curbuf, eap);
+	    }
 	}
 	else
 	{
 	    if (!(did_cmd = apply_autocmds_exarg(EVENT_FILEWRITECMD,
 					 sfname, sfname, FALSE, curbuf, eap)))
-		apply_autocmds_exarg(EVENT_FILEWRITEPRE,
+	    {
+		if (bt_nofile(curbuf))
+		    nofile_err = TRUE;
+		else
+		    apply_autocmds_exarg(EVENT_FILEWRITEPRE,
 					  sfname, sfname, FALSE, curbuf, eap);
+	    }
 	}
 
 	/* restore curwin/curbuf and a few other things */
@@ -2776,11 +2792,15 @@
 	 */
 	if (!buf_valid(buf))
 	    buf = NULL;
-	if (buf == NULL || buf->b_ml.ml_mfp == NULL || did_cmd || aborting())
+	if (buf == NULL || buf->b_ml.ml_mfp == NULL
+				       || did_cmd || nofile_err || aborting())
 	{
 	    --no_wait_return;
 	    msg_scroll = msg_save;
-	    if (aborting())
+	    if (nofile_err)
+		EMSG(_("E676: No matching autocommands for acwrite buffer"));
+
+	    if (aborting() || nofile_err)
 		/* An aborting error, interrupt or exception in the
 		 * autocommands. */
 		return FAIL;
