diff --git a/src/gui_w32.c b/src/gui_w32.c
index 0613191..50ea8f9 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -1511,6 +1511,20 @@
 }
 
 /*
+ * Get the average character size of a font.
+ */
+    static void
+GetAverageFontSize(HDC hdc, SIZE *size)
+{
+    // GetTextMetrics() may not return the right value in tmAveCharWidth
+    // for some fonts.  Do our own average computation.
+    GetTextExtentPoint(hdc,
+	    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
+	    52, size);
+    size->cx = (size->cx / 26 + 1) / 2;
+}
+
+/*
  * Get the character size of a font.
  */
     static void
@@ -1523,13 +1537,9 @@
     TEXTMETRIC tm;
 
     GetTextMetrics(hdc, &tm);
-    // GetTextMetrics() may not return the right value in tmAveCharWidth
-    // for some fonts.  Do our own average computation.
-    GetTextExtentPoint(hdc,
-	    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
-	    52, &size);
-    gui.char_width = (size.cx / 26 + 1) / 2 + tm.tmOverhang;
+    GetAverageFontSize(hdc, &size);
 
+    gui.char_width = size.cx + tm.tmOverhang;
     gui.char_height = tm.tmHeight + p_linespace;
 
     SelectFont(hdc, hfntOld);
@@ -7563,17 +7573,10 @@
 
     hdc = GetDC(s_hwnd);
     SelectObject(hdc, hfontTools);
-    /*
-     * GetTextMetrics() doesn't return the right value in
-     * tmAveCharWidth, so we have to figure out the dialog base units
-     * ourselves.
-     */
-    GetTextExtentPoint(hdc,
-	    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
-	    52, &size);
+    GetAverageFontSize(hdc, &size);
     ReleaseDC(s_hwnd, hdc);
 
-    s_dlgfntwidth = (WORD)((size.cx / 26 + 1) / 2);
+    s_dlgfntwidth = (WORD)size.cx;
     s_dlgfntheight = (WORD)size.cy;
 }
 
diff --git a/src/version.c b/src/version.c
index a5bb606..5eacff8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4194,
+/**/
     4193,
 /**/
     4192,
