diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index d497c75..601fafc 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -810,6 +810,12 @@
 }
 #endif
 
+    int
+gui_mch_is_blinking(void)
+{
+    return blink_state != BLINK_NONE;
+}
+
     void
 gui_mch_set_blinking(long waittime, long on, long off)
 {
diff --git a/src/gui_mac.c b/src/gui_mac.c
index 8990b05..06f9204 100644
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -5114,6 +5114,11 @@
 #endif
 }
 
+    int
+gui_mch_is_blinking(void)
+{
+    return FALSE;
+}
 
 /*
  * Cursor blink functions.
diff --git a/src/gui_photon.c b/src/gui_photon.c
index 956c8e2..a4d00f7 100644
--- a/src/gui_photon.c
+++ b/src/gui_photon.c
@@ -2232,6 +2232,12 @@
     DRAW_END;
 }
 
+    int
+gui_mch_is_blinking(void)
+{
+    return blink_state != BLINK_NONE;
+}
+
     void
 gui_mch_set_blinking(long wait, long on, long off)
 {
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 2c665cb..d506f00 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -540,6 +540,12 @@
 static long_u		blink_offtime = 250;
 static UINT		blink_timer = 0;
 
+    int
+gui_mch_is_blinking(void)
+{
+    return blink_state != BLINK_NONE;
+}
+
     void
 gui_mch_set_blinking(long wait, long on, long off)
 {
diff --git a/src/gui_x11.c b/src/gui_x11.c
index 7d01e79..deed76e 100644
--- a/src/gui_x11.c
+++ b/src/gui_x11.c
@@ -3155,6 +3155,12 @@
 static long_u		blink_offtime = 250;
 static XtIntervalId	blink_timer = (XtIntervalId)0;
 
+    int
+gui_mch_is_blinking(void)
+{
+    return blink_state != BLINK_NONE;
+}
+
     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 7e94b58..3735f8d 100644
--- a/src/proto/gui_gtk_x11.pro
+++ b/src/proto/gui_gtk_x11.pro
@@ -1,6 +1,7 @@
 /* gui_gtk_x11.c */
 void gui_mch_prepare(int *argc, char **argv);
 void gui_mch_free_all(void);
+int gui_mch_is_blinking(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 9e7f54f..ff83759 100644
--- a/src/proto/gui_mac.pro
+++ b/src/proto/gui_mac.pro
@@ -14,6 +14,7 @@
 void gui_mac_focus_change(EventRecord *event);
 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);
 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 d8efe07..46d73b7 100644
--- a/src/proto/gui_photon.pro
+++ b/src/proto/gui_photon.pro
@@ -39,6 +39,7 @@
 void gui_mch_draw_string(int row, int col, char_u *s, int len, int flags);
 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);
 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 c8411f9..e35373c 100644
--- a/src/proto/gui_w32.pro
+++ b/src/proto/gui_w32.pro
@@ -1,6 +1,7 @@
 /* gui_w32.c */
 int directx_enabled(void);
 int gui_mch_set_rendering_options(char_u *s);
+int gui_mch_is_blinking(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 d4eb2d9..2d2eafa 100644
--- a/src/proto/gui_x11.pro
+++ b/src/proto/gui_x11.pro
@@ -53,6 +53,7 @@
 void gui_mch_menu_hidden(vimmenu_T *menu, int hidden);
 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);
 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 2e425cb..ea557b9 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -432,7 +432,10 @@
 #ifdef FEAT_GUI
     if (gui.in_use)
     {
-	gui_update_cursor(TRUE, FALSE);
+	/* 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())
+	    gui_update_cursor(FALSE, FALSE);
 	gui_mch_flush();
     }
 #endif
diff --git a/src/version.c b/src/version.c
index 4ab1a25..ce8b8d0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1890,
+/**/
     1889,
 /**/
     1888,
