diff --git a/src/eval.c b/src/eval.c
index fb417c8..7fbd770 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -5589,12 +5589,8 @@
     for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
 	abort = abort || set_ref_in_item(&wp->w_winvar.di_tv, copyID,
 								  NULL, NULL);
-    for (wp = first_tab_popupwin; wp != NULL; wp = wp->w_next)
-	abort = abort || set_ref_in_item(&wp->w_winvar.di_tv, copyID,
-								  NULL, NULL);
     FOR_ALL_TABPAGES(tp)
-	if (tp != curtab)
-	    for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
+	for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
 		abort = abort || set_ref_in_item(&wp->w_winvar.di_tv, copyID,
 								  NULL, NULL);
 #endif
@@ -8816,12 +8812,11 @@
     if (nr >= LOWEST_WIN_ID)
     {
 #ifdef FEAT_TEXT_PROP
-	// popup windows are in a separate list
-	for (wp = (tp == NULL || tp == curtab)
-		? first_tab_popupwin : tp->tp_first_popupwin;
-						   wp != NULL; wp = wp->w_next)
+	// check tab-local popup windows
+	for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
 	    if (wp->w_id == nr)
 		return wp;
+	// check global popup windows
 	for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
 	    if (wp->w_id == nr)
 		return wp;
