diff --git a/src/errors.h b/src/errors.h
index 0099431..dd2bc95 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -3185,7 +3185,7 @@
 EXTERN char e_no_white_space_allowed_before_separator_str[]
 	INIT(= N_("E1242: No white space allowed before separator: %s"));
 #endif
-#ifdef FEAT_GUI_GTK
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN)
 EXTERN char e_ascii_code_not_in_range[]
 	INIT(= N_("E1243: ASCII code not in 32-127 range"));
 #endif
diff --git a/src/gui.c b/src/gui.c
index 29e4623..78299f0 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -455,7 +455,7 @@
     gui.scrollbar_width = gui.scrollbar_height = SB_DEFAULT_WIDTH;
     gui.prev_wrap = -1;
 
-#ifdef FEAT_GUI_GTK
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN)
     CLEAR_FIELD(gui.ligatures_map);
 #endif
 
@@ -1064,7 +1064,7 @@
     return OK;
 }
 
-#if defined(FEAT_GUI_GTK) || defined(PROTO)
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) || defined(PROTO)
 /*
  * Set list of ascii characters that combined can create ligature.
  * Store them in char map for quick access from gui_gtk2_draw_string.
@@ -2691,7 +2691,7 @@
     int startcol = gui.cursor_col > 0 ? gui.cursor_col - 1 : gui.cursor_col;
     int endcol = gui.cursor_col;
 
-#ifdef FEAT_GUI_GTK
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN)
     gui_adjust_undraw_cursor_for_ligatures(&startcol, &endcol);
 #endif
     gui_redraw_block(gui.cursor_row, startcol,
diff --git a/src/gui.h b/src/gui.h
index c677ba1..f9fdd2d 100644
--- a/src/gui.h
+++ b/src/gui.h
@@ -389,10 +389,12 @@
     char_u	*browse_fname;	    // file name from filedlg
 
     guint32	event_time;
+#endif	// FEAT_GUI_GTK
 
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN)
     char_u ligatures_map[256];	    // ascii map for characters 0-255, value is
 				    // 1 if in 'guiligatures'
-#endif	// FEAT_GUI_GTK
+#endif
 
 #if defined(FEAT_GUI_TABLINE) \
 	&& (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) \
diff --git a/src/option.h b/src/option.h
index 28a4a96..75940cc 100644
--- a/src/option.h
+++ b/src/option.h
@@ -637,7 +637,7 @@
 EXTERN char_u	*p_guifontwide;	// 'guifontwide'
 EXTERN int	p_guipty;	// 'guipty'
 #endif
-#ifdef FEAT_GUI_GTK
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN)
 EXTERN char_u	*p_guiligatures;  // 'guiligatures'
 # endif
 #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
diff --git a/src/optiondefs.h b/src/optiondefs.h
index 7768588..1a09e1c 100644
--- a/src/optiondefs.h
+++ b/src/optiondefs.h
@@ -1212,7 +1212,7 @@
 			    {(char_u *)50L, (char_u *)0L} SCTX_INIT},
 
     {"guiligatures", "gli", P_STRING|P_VI_DEF|P_RCLR|P_ONECOMMA|P_NODUP,
-#if defined(FEAT_GUI_GTK)
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN)
 			    (char_u *)&p_guiligatures, PV_NONE,
 			    did_set_guiligatures, NULL,
 			    {(char_u *)"", (char_u *)0L}
diff --git a/src/optionstr.c b/src/optionstr.c
index 8b000ab..457fccb 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -2438,7 +2438,7 @@
 }
 #endif
 
-#if defined(FEAT_GUI_GTK) || defined(PROTO)
+#if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN) || defined(PROTO)
 /*
  * The 'guiligatures' option is changed.
  */
diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim
index dbf1d3b..2ff8d34 100644
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -635,7 +635,7 @@
 func Test_set_guiligatures()
   CheckX11BasedGui
 
-  if has('gui_gtk') || has('gui_gtk2') || has('gui_gnome') || has('gui_gtk3')
+  if has('gui_gtk') || has('gui_gtk2') || has('gui_gnome') || has('gui_gtk3') || has('win32')
     " Try correct value
     set guiligatures=<>=ab
     call assert_equal("<>=ab", &guiligatures)
diff --git a/src/version.c b/src/version.c
index 59a940b..1405854 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    133,
+/**/
     132,
 /**/
     131,
