diff --git a/src/edit.c b/src/edit.c
index 4de17aa..83b4be7 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -5267,7 +5267,7 @@
 	col = mouse_col;
 
 	/* find the window at the pointer coordinates */
-	wp = mouse_find_win(&row, &col, FAIL_POPUP);
+	wp = mouse_find_win(&row, &col, FIND_POPUP);
 	if (wp == NULL)
 	    return;
 	curwin = wp;
@@ -5288,6 +5288,10 @@
 			(long)(curwin->w_botline - curwin->w_topline));
 	    else
 		scroll_redraw(dir, 3L);
+# ifdef FEAT_TEXT_PROP
+	if (WIN_IS_POPUP(curwin))
+	    popup_set_firstline(curwin);
+# endif
 	}
 #ifdef FEAT_GUI
 	else
diff --git a/src/insexpand.c b/src/insexpand.c
index 136fb67..a86630f 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -1943,6 +1943,36 @@
 	    || c == K_MOUSELEFT || c == K_MOUSERIGHT)
 	return retval;
 
+#ifdef FEAT_TEXT_PROP
+    // Ignore mouse events in a popup window
+    if (is_mouse_key(c))
+    {
+	// Ignore drag and release events, the position does not need to be in
+	// the popup and it may have just closed.
+	if (c == K_LEFTRELEASE
+		|| c == K_LEFTRELEASE_NM
+		|| c == K_MIDDLERELEASE
+		|| c == K_RIGHTRELEASE
+		|| c == K_X1RELEASE
+		|| c == K_X2RELEASE
+		|| c == K_LEFTDRAG
+		|| c == K_MIDDLEDRAG
+		|| c == K_RIGHTDRAG
+		|| c == K_X1DRAG
+		|| c == K_X2DRAG)
+	    return retval;
+	if (popup_visible)
+	{
+	    int	    row = mouse_row;
+	    int	    col = mouse_col;
+	    win_T   *wp = mouse_find_win(&row, &col, FIND_POPUP);
+
+	    if (wp != NULL && WIN_IS_POPUP(wp))
+		return retval;
+	}
+    }
+#endif
+
     // Set "compl_get_longest" when finding the first matches.
     if (ctrl_x_mode == CTRL_X_NOT_DEFINED_YET
 			   || (ctrl_x_mode == CTRL_X_NORMAL && !compl_started))
diff --git a/src/popupmnu.c b/src/popupmnu.c
index 97b2fff..4d84ba8 100644
--- a/src/popupmnu.c
+++ b/src/popupmnu.c
@@ -638,6 +638,7 @@
 {
     int	    resized = FALSE;
     int	    context = pum_height / 2;
+    int	    prev_selected = pum_selected;
 #ifdef FEAT_TEXT_PROP
     int	    has_info = FALSE;
 #endif
@@ -826,7 +827,16 @@
 
 		    curbuf->b_changed = 0;
 		    curbuf->b_p_ma = FALSE;
-		    curwin->w_cursor.lnum = 1;
+		    if (pum_selected != prev_selected)
+		    {
+# ifdef FEAT_TEXT_PROP
+			curwin->w_firstline = 1;
+# endif
+			curwin->w_topline = 1;
+		    }
+		    else if (curwin->w_topline > curbuf->b_ml.ml_line_count)
+			curwin->w_topline = curbuf->b_ml.ml_line_count;
+		    curwin->w_cursor.lnum = curwin->w_topline;
 		    curwin->w_cursor.col = 0;
 		    if (use_popup && win_valid(curwin_save))
 			redraw_win_later(curwin_save, SOME_VALID);
diff --git a/src/version.c b/src/version.c
index e39567f..85d47c6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1884,
+/**/
     1883,
 /**/
     1882,
