diff --git a/src/evalfunc.c b/src/evalfunc.c
index 0e071d8..2064982 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -6129,6 +6129,13 @@
 		0
 #endif
 		},
+	{"dialog_con_gui",
+#if defined(FEAT_CON_DIALOG) && defined(FEAT_GUI_DIALOG)
+		1
+#else
+		0
+#endif
+		},
 	{"dialog_gui",
 #ifdef FEAT_GUI_DIALOG
 		1
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 4a6f519..a75bfc1 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -163,7 +163,8 @@
     char_u	buff[DIALOG_MSG_SIZE];
     int		ret;
     buf_T	*buf2;
-    exarg_T     ea;
+    exarg_T	ea;
+    int		empty_buf = buf->b_fname == NULL ? TRUE : FALSE;
 
     dialog_msg(buff, _("Save changes to \"%s\"?"), buf->b_fname);
     if (checkall)
@@ -181,10 +182,27 @@
 	// May get file name, when there is none
 	browse_save_fname(buf);
 #endif
-	if (buf->b_fname != NULL && check_overwrite(&ea, buf,
-				    buf->b_fname, buf->b_ffname, FALSE) == OK)
+	if (empty_buf)
+	    buf_set_name(buf->b_fnum, (char_u *)"Untitled");
+
+	if (check_overwrite(&ea, buf, buf->b_fname, buf->b_ffname, FALSE) == OK)
+	{
 	    // didn't hit Cancel
-	    (void)buf_write_all(buf, FALSE);
+	    if (buf_write_all(buf, FALSE) == OK)
+		return;
+	}
+
+	// restore to empty when write failed
+	if (empty_buf)
+	{
+	    vim_free(buf->b_fname);
+	    buf->b_fname = NULL;
+	    vim_free(buf->b_ffname);
+	    buf->b_ffname = NULL;
+	    vim_free(buf->b_sfname);
+	    buf->b_sfname = NULL;
+	    unchanged(buf, TRUE, FALSE);
+	}
     }
     else if (ret == VIM_NO)
     {
diff --git a/src/testdir/test_buffer.vim b/src/testdir/test_buffer.vim
index a5643b3..de088bd 100644
--- a/src/testdir/test_buffer.vim
+++ b/src/testdir/test_buffer.vim
@@ -252,21 +252,30 @@
   CheckUnix
   CheckNotGui
   CheckFeature dialog_con
+  " When dialog_con_gui is defined, Vim is compiled with GUI support
+  " and FEAT_BROWSE will be defined, which causes :confirm :b to
+  " call do_browse(), which will try to use a GUI file browser,
+  " which aborts if a GUI is not available.
+  CheckNotFeature dialog_con_gui
   new XgotoConf
   enew
   call setline(1, 'test')
   call assert_fails('b XgotoConf', 'E37:')
   call feedkeys('c', 'L')
   call assert_fails('confirm b XgotoConf', 'E37:')
-  call assert_equal(1, &modified)
-  call assert_equal('', @%)
+  call assert_true(&modified)
+  call assert_true(empty(bufname('%')))
   call feedkeys('y', 'L')
-  call assert_fails('confirm b XgotoConf', ['', 'E37:'])
-  call assert_equal(1, &modified)
-  call assert_equal('', @%)
+  confirm b XgotoConf
+  call assert_equal('XgotoConf', bufname('%'))
+  call assert_equal(['test'], readfile('Untitled'))
+  e Untitled
+  call setline(2, 'test2')
   call feedkeys('n', 'L')
   confirm b XgotoConf
-  call assert_equal('XgotoConf', @%)
+  call assert_equal('XgotoConf', bufname('%'))
+  call assert_equal(['test'], readfile('Untitled'))
+  call delete('Untitled')
   close!
 endfunc
 
diff --git a/src/version.c b/src/version.c
index 861adf1..b24db2f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    265,
+/**/
     264,
 /**/
     263,
