diff --git a/src/popupwin.c b/src/popupwin.c
index 7145291..abf40e8 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -2764,8 +2764,14 @@
     int
 popup_do_filter(int c)
 {
+    static int	recursive = FALSE;
     int		res = FALSE;
     win_T	*wp;
+    int		save_KeyTyped = KeyTyped;
+
+    if (recursive)
+	return FALSE;
+    recursive = TRUE;
 
     popup_reset_handled();
 
@@ -2776,13 +2782,15 @@
 
 	wp = mouse_find_win(&row, &col, FIND_POPUP);
 	if (wp != NULL && popup_close_if_on_X(wp, row, col))
-	    return TRUE;
+	    res = TRUE;
     }
 
     while (!res && (wp = find_next_popup(FALSE)) != NULL)
 	if (wp->w_filter_cb.cb_name != NULL)
 	    res = invoke_popup_filter(wp, c);
 
+    recursive = FALSE;
+    KeyTyped = save_KeyTyped;
     return res;
 }
 
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index f0959e7..8f2b5dc 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -1919,6 +1919,31 @@
   call delete('XsomeFile')
 endfunc
 
+func Test_popupwin_with_buffer_and_filter()
+  new Xwithfilter
+  call setline(1, range(100))
+  let bufnr = bufnr()
+  hide
+
+  func BufferFilter(win, key)
+    if a:key == 'G'
+      " recursive use of "G" does not cause problems.
+      call win_execute(a:win, 'normal! G')
+      return 1
+    endif
+    return 0
+  endfunc
+
+  let winid = popup_create(bufnr, #{maxheight: 5, filter: 'BufferFilter'})
+  call assert_equal(1, popup_getpos(winid).firstline)
+  redraw
+  call feedkeys("G", 'xt')
+  call assert_equal(99, popup_getpos(winid).firstline)
+
+  call popup_close(winid)
+  exe 'bwipe! ' .. bufnr
+endfunc
+
 func Test_popupwin_width()
   let winid = popup_create(repeat(['short', 'long long long line', 'medium width'], 50), #{
 	\ maxwidth: 40,
diff --git a/src/version.c b/src/version.c
index 7fd13b8..fe8b34a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1963,
+/**/
     1962,
 /**/
     1961,
