diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 6c97d1a..c037702 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -160,7 +160,7 @@
  * "Monospace" is a standard font alias that should be present
  * on all proper Pango/fontconfig installations.
  */
-# define DEFAULT_FONT	"Monospace 10"
+# define DEFAULT_FONT	"Monospace 12"
 
 #if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
 # define USE_GNOME_SESSION
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 95e3cbc..485ee20 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -2729,8 +2729,8 @@
 }
 
 // The default font height in 100% scaling (96dpi).
-// (-12 in 96dpi equates to roughly 9pt)
-#define DEFAULT_FONT_HEIGHT	(-12)
+// (-16 in 96dpi equates to roughly 12pt)
+#define DEFAULT_FONT_HEIGHT	(-16)
 
 static const LOGFONTW s_lfDefault =
 {
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index ded3197..6fc0dcc 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -55,6 +55,10 @@
 
 " In the GUI we can always change the screen size.
 if has('gui_running')
+  if has('gui_gtk')
+    " to keep screendump size unchanged
+    set guifont=Monospace\ 10
+  endif
   set columns=80 lines=25
 endif
 
diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim
index ae65310..2925934 100644
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -105,8 +105,8 @@
     let pat = '\(7x13\)\|\(\c-Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO8859-1\)'
     call assert_match(pat, fname)
   elseif has('gui_gtk2') || has('gui_gnome') || has('gui_gtk3')
-    " 'expected' is DEFAULT_FONT of gui_gtk_x11.c.
-    call assert_equal('Monospace 10', fname)
+    " 'expected' is DEFAULT_FONT of gui_gtk_x11.c (any size)
+    call assert_match('^Monospace\>', fname)
   endif
 endfunc
 
@@ -426,7 +426,7 @@
 
     " Empty list. Should fallback to the built-in default.
     set guifont=
-    call assert_equal('Monospace 10', getfontname())
+    call assert_match('^Monospace\>', getfontname())
   endif
 
   if has('xfontset')
@@ -613,7 +613,7 @@
 
     " Test recalling default and existing option
     set guifont=
-    call assert_equal('Monospace\ 10', getcompletion('set guifont=', 'cmdline')[0])
+    call assert_match('^Monospace\>', getcompletion('set guifont=', 'cmdline')[0])
     set guifont=Monospace\ 9
     call assert_equal('Monospace\ 9', getcompletion('set guifont=', 'cmdline')[0])
 
diff --git a/src/testdir/test_highlight.vim b/src/testdir/test_highlight.vim
index 9bc5f12..5189b61 100644
--- a/src/testdir/test_highlight.vim
+++ b/src/testdir/test_highlight.vim
@@ -781,8 +781,8 @@
   if !has('gui_running')
     call assert_match('hi Normal\s*clear', hlNormal)
   elseif has('gui_gtk2') || has('gui_gnome') || has('gui_gtk3')
-    " expect is DEFAULT_FONT of gui_gtk_x11.c
-    call assert_match('hi Normal\s*font=Monospace 10', hlNormal)
+    " expect is DEFAULT_FONT of gui_gtk_x11.c (any size)
+    call assert_match('hi Normal\s*font=Monospace\>', hlNormal)
   elseif has('gui_motif')
     " expect is DEFAULT_FONT of gui_x11.c
     call assert_match('hi Normal\s*font=7x13', hlNormal)
diff --git a/src/version.c b/src/version.c
index 1ae3f53..07bb851 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    915,
+/**/
     914,
 /**/
     913,
