diff --git a/src/buffer.c b/src/buffer.c
index c3e0c50..a3a7e00 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1875,10 +1875,10 @@
 }
 
     void
-no_write_message_nobang(void)
+no_write_message_nobang(buf_T *buf UNUSED)
 {
 #ifdef FEAT_TERMINAL
-    if (term_job_running(curbuf->b_term))
+    if (term_job_running(buf->b_term))
 	EMSG(_("E948: Job still running"));
     else
 #endif
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index a4d6221..e05215a 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -3428,6 +3428,14 @@
 
     FOR_ALL_BUFFERS(buf)
     {
+#ifdef FEAT_TERMINAL
+	if (exiting && term_job_running(buf->b_term))
+	{
+	    no_write_message_nobang(buf);
+	    ++error;
+	}
+	else
+#endif
 	if (bufIsChanged(buf) && !bt_dontwrite(buf))
 	{
 	    /*
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 6476d55..805e8c4 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -2110,7 +2110,7 @@
 	if (flags & CCGD_EXCMD)
 	    no_write_message();
 	else
-	    no_write_message_nobang();
+	    no_write_message_nobang(curbuf);
 	return TRUE;
     }
     return FALSE;
diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro
index 485eb02..8b98843 100644
--- a/src/proto/buffer.pro
+++ b/src/proto/buffer.pro
@@ -14,7 +14,7 @@
 void enter_buffer(buf_T *buf);
 void do_autochdir(void);
 void no_write_message(void);
-void no_write_message_nobang(void);
+void no_write_message_nobang(buf_T *buf);
 buf_T *buflist_new(char_u *ffname, char_u *sfname, linenr_T lnum, int flags);
 void free_buf_options(buf_T *buf, int free_p_ff);
 int buflist_getfile(int n, linenr_T lnum, int options, int forceit);
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 0c2e289..ac54bbc 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -712,6 +712,15 @@
   unlet g:job
 endfunc
 
+func Test_terminal_wqall()
+  let buf = Run_shell_in_terminal({})
+  call assert_fails('wqall', 'E948')
+  call Stop_shell_in_terminal(buf)
+  call term_wait(buf)
+  exe buf . 'bwipe'
+  unlet g:job
+endfunc
+
 func Test_terminal_composing_unicode()
   let save_enc = &encoding
   set encoding=utf-8
diff --git a/src/version.c b/src/version.c
index 78b8431..3bed185 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1525,
+/**/
     1524,
 /**/
     1523,
