diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 620c892..39b918a 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -818,6 +818,12 @@
     return blink_state != BLINK_NONE;
 }
 
+    int
+gui_mch_is_blink_off(void)
+{
+    return blink_state == BLINK_OFF;
+}
+
     void
 gui_mch_set_blinking(long waittime, long on, long off)
 {
diff --git a/src/gui_mac.c b/src/gui_mac.c
index 06f9204..b2e4d4b 100644
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -5120,6 +5120,12 @@
     return FALSE;
 }
 
+    int
+gui_mch_is_blink_off(void)
+{
+    return FALSE;
+}
+
 /*
  * Cursor blink functions.
  *
diff --git a/src/gui_photon.c b/src/gui_photon.c
index a4d00f7..1000a5e 100644
--- a/src/gui_photon.c
+++ b/src/gui_photon.c
@@ -2238,6 +2238,12 @@
     return blink_state != BLINK_NONE;
 }
 
+    int
+gui_mch_is_blink_off(void)
+{
+    return blink_state == BLINK_OFF;
+}
+
     void
 gui_mch_set_blinking(long wait, long on, long off)
 {
diff --git a/src/gui_w32.c b/src/gui_w32.c
index cf29b61..19f4d65 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -546,6 +546,12 @@
     return blink_state != BLINK_NONE;
 }
 
+    int
+gui_mch_is_blink_off(void)
+{
+    return blink_state == BLINK_OFF;
+}
+
     void
 gui_mch_set_blinking(long wait, long on, long off)
 {
diff --git a/src/gui_x11.c b/src/gui_x11.c
index deed76e..3ccc92a 100644
--- a/src/gui_x11.c
+++ b/src/gui_x11.c
@@ -3161,6 +3161,12 @@
     return blink_state != BLINK_NONE;
 }
 
+    int
+gui_mch_is_blink_off(void)
+{
+    return blink_state == BLINK_OFF;
+}
+
     void
 gui_mch_set_blinking(long waittime, long on, long off)
 {
diff --git a/src/proto/gui_gtk_x11.pro b/src/proto/gui_gtk_x11.pro
index 3735f8d..b79feb8 100644
--- a/src/proto/gui_gtk_x11.pro
+++ b/src/proto/gui_gtk_x11.pro
@@ -2,6 +2,7 @@
 void gui_mch_prepare(int *argc, char **argv);
 void gui_mch_free_all(void);
 int gui_mch_is_blinking(void);
+int gui_mch_is_blink_off(void);
 void gui_mch_set_blinking(long waittime, long on, long off);
 void gui_mch_stop_blink(void);
 void gui_mch_start_blink(void);
diff --git a/src/proto/gui_mac.pro b/src/proto/gui_mac.pro
index ff83759..ebe13f3 100644
--- a/src/proto/gui_mac.pro
+++ b/src/proto/gui_mac.pro
@@ -15,6 +15,7 @@
 void gui_mac_update(EventRecord *event);
 short gui_mch_get_mac_menu_item_index(vimmenu_T *menu, vimmenu_T *parent);
 int gui_mch_is_blinking(void);
+int gui_mch_is_blink_off(void);
 void gui_mch_set_blinking(long wait, long on, long off);
 void gui_mch_stop_blink(void);
 void gui_mch_start_blink(void);
diff --git a/src/proto/gui_photon.pro b/src/proto/gui_photon.pro
index 46d73b7..b03479c 100644
--- a/src/proto/gui_photon.pro
+++ b/src/proto/gui_photon.pro
@@ -40,6 +40,7 @@
 void gui_mch_draw_hollow_cursor(guicolor_T color);
 void gui_mch_draw_part_cursor(int w, int h, guicolor_T color);
 int gui_mch_is_blinking(void);
+int gui_mch_is_blink_off(void);
 void gui_mch_set_blinking(long wait, long on, long off);
 void gui_mch_start_blink(void);
 void gui_mch_stop_blink(void);
diff --git a/src/proto/gui_w32.pro b/src/proto/gui_w32.pro
index e35373c..20a92b9 100644
--- a/src/proto/gui_w32.pro
+++ b/src/proto/gui_w32.pro
@@ -2,6 +2,7 @@
 int directx_enabled(void);
 int gui_mch_set_rendering_options(char_u *s);
 int gui_mch_is_blinking(void);
+int gui_mch_is_blink_off(void);
 void gui_mch_set_blinking(long wait, long on, long off);
 void gui_mch_stop_blink(void);
 void gui_mch_start_blink(void);
diff --git a/src/proto/gui_x11.pro b/src/proto/gui_x11.pro
index 2d2eafa..ccaf99f 100644
--- a/src/proto/gui_x11.pro
+++ b/src/proto/gui_x11.pro
@@ -54,6 +54,7 @@
 void gui_mch_draw_menubar(void);
 void gui_x11_menu_cb(Widget w, XtPointer client_data, XtPointer call_data);
 int gui_mch_is_blinking(void);
+int gui_mch_is_blink_off(void);
 void gui_mch_set_blinking(long waittime, long on, long off);
 void gui_mch_stop_blink(void);
 void gui_mch_start_blink(void);
diff --git a/src/screen.c b/src/screen.c
index 684401c..2f08afb 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -432,9 +432,9 @@
 #ifdef FEAT_GUI
     if (gui.in_use)
     {
-	/* Don't update the cursor while it is blinking, it will get
-	 * updated soon and this avoids interrupting the blinking. */
-	if (!gui_mch_is_blinking())
+	/* Don't update the cursor when it is blinking and off to avoid
+	 * flicker. */
+	if (!gui_mch_is_blink_off())
 	    gui_update_cursor(FALSE, FALSE);
 	gui_mch_flush();
     }
diff --git a/src/version.c b/src/version.c
index 8bb497d..f34f7a0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -759,6 +759,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1995,
+/**/
     1994,
 /**/
     1993,
