diff --git a/src/popupmnu.c b/src/popupmnu.c
index 9b5f750..985a0e6 100644
--- a/src/popupmnu.c
+++ b/src/popupmnu.c
@@ -1104,14 +1104,14 @@
  * Execute the currently selected popup menu item.
  */
     static void
-pum_execute_menu(vimmenu_T *menu)
+pum_execute_menu(vimmenu_T *menu, int mode)
 {
     vimmenu_T   *mp;
     int		idx = 0;
     exarg_T	ea;
 
     for (mp = menu->children; mp != NULL; mp = mp->next)
-	if (idx++ == pum_selected)
+	if ((mp->modes & mp->enabled & mode) && idx++ == pum_selected)
 	{
 	    vim_memset(&ea, 0, sizeof(ea));
 	    execute_menu(&ea, mp);
@@ -1171,7 +1171,7 @@
 	int	c;
 
 	pum_redraw();
-	setcursor();
+	setcursor_mayforce(TRUE);
 	out_flush();
 
 	c = vgetc();
@@ -1180,7 +1180,7 @@
 	else if (c == CAR || c == NL)
 	{
 	    /* enter: select current item, if any, and close */
-	    pum_execute_menu(menu);
+	    pum_execute_menu(menu, mode);
 	    break;
 	}
 	else if (c == 'k' || c == K_UP || c == K_MOUSEUP)
@@ -1221,7 +1221,7 @@
 	    pum_select_mouse_pos();
 	    if (pum_selected >= 0)
 	    {
-		pum_execute_menu(menu);
+		pum_execute_menu(menu, mode);
 		break;
 	    }
 	    if (c == K_LEFTMOUSE || c == K_LEFTMOUSE_NM)
diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index 39424b4..f04fda5 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -44,6 +44,7 @@
 void screen_start(void);
 void windgoto(int row, int col);
 void setcursor(void);
+void setcursor_mayforce(int force);
 int win_ins_lines(win_T *wp, int row, int line_count, int invalid, int mayclear);
 int win_del_lines(win_T *wp, int row, int line_count, int invalid, int mayclear, int clear_attr);
 int screen_ins_lines(int off, int row, int line_count, int end, int clear_attr, win_T *wp);
diff --git a/src/screen.c b/src/screen.c
index 935f981..5ab2e85 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -9471,7 +9471,17 @@
     void
 setcursor(void)
 {
-    if (redrawing())
+    setcursor_mayforce(FALSE);
+}
+
+/*
+ * Set cursor to its position in the current window.
+ * When "force" is TRUE also when not redrawing.
+ */
+    void
+setcursor_mayforce(int force)
+{
+    if (force || redrawing())
     {
 	validate_cursor();
 	windgoto(W_WINROW(curwin) + curwin->w_wrow,
diff --git a/src/version.c b/src/version.c
index 8fd5ea7..3cf2550 100644
--- a/src/version.c
+++ b/src/version.c
@@ -767,6 +767,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1574,
+/**/
     1573,
 /**/
     1572,
