diff --git a/src/autocmd.c b/src/autocmd.c
index fe2b6cb..e5f5125 100644
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -1657,7 +1657,10 @@
 	    }
 	}
 win_found:
-
+#ifdef FEAT_JOB_CHANNEL
+	// May need to stop Insert mode if we were in a prompt buffer.
+	leaving_window(curwin);
+#endif
 	// Remove the window and frame from the tree of frames.
 	(void)winframe_remove(curwin, &dummy, NULL);
 	win_remove(curwin, NULL);
diff --git a/src/proto/window.pro b/src/proto/window.pro
index 6522466..d1108af 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -13,6 +13,7 @@
 int make_windows(int count, int vertical);
 void win_move_after(win_T *win1, win_T *win2);
 void win_equal(win_T *next_curwin, int current, int dir);
+void leaving_window(win_T *win);
 void entering_window(win_T *win);
 void curwin_init(void);
 void close_windows(buf_T *buf, int keep_curwin);
diff --git a/src/testdir/test_prompt_buffer.vim b/src/testdir/test_prompt_buffer.vim
index 9998cc5..28e0d76 100644
--- a/src/testdir/test_prompt_buffer.vim
+++ b/src/testdir/test_prompt_buffer.vim
@@ -252,4 +252,42 @@
   call StopVimInTerminal(buf)
 endfunc
 
+func Test_prompt_appending_while_hidden()
+  call CanTestPromptBuffer()
+
+  let script =<< trim END
+      new prompt
+      set buftype=prompt
+      set bufhidden=hide
+
+      func s:TextEntered(text)
+          if a:text == 'exit'
+              close
+          endif
+          echowin 'Entered:' a:text
+      endfunc
+      call prompt_setcallback(bufnr(), function('s:TextEntered'))
+
+      func DoAppend()
+        call appendbufline('prompt', '$', 'Test')
+      endfunc
+  END
+  call writefile(script, 'XpromptBuffer', 'D')
+
+  let buf = RunVimInTerminal('-S XpromptBuffer', {'rows': 10})
+  call TermWait(buf)
+
+  call term_sendkeys(buf, "asomething\<CR>")
+  call TermWait(buf)
+
+  call term_sendkeys(buf, "exit\<CR>")
+  call TermWait(buf)
+
+  call term_sendkeys(buf, ":call DoAppend()\<CR>")
+  call TermWait(buf)
+  call assert_notmatch('-- INSERT --', term_getline(buf, 10))
+
+  call StopVimInTerminal(buf)
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 47ecd53..5cace2e3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1439,
+/**/
     1438,
 /**/
     1437,
diff --git a/src/window.c b/src/window.c
index a967f92..3405285 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2292,7 +2292,7 @@
 }
 
 #ifdef FEAT_JOB_CHANNEL
-    static void
+    void
 leaving_window(win_T *win)
 {
     // Only matters for a prompt window.
