diff --git a/src/popupwin.c b/src/popupwin.c
index 95a91f9..9222119 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -300,10 +300,10 @@
     win_T *wp;
 
     for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
-	if ((wp->w_popup_flags & PFL_HIDDEN) == 0)
+	if ((wp->w_popup_flags & POPF_HIDDEN) == 0)
 	    return TRUE;
     for (wp = curtab->tp_first_popupwin; wp != NULL; wp = wp->w_next)
-	if ((wp->w_popup_flags & PFL_HIDDEN) == 0)
+	if ((wp->w_popup_flags & POPF_HIDDEN) == 0)
 	    return TRUE;
     return FALSE;
 }
@@ -328,9 +328,9 @@
     int		id = (int)tv_get_number(argvars);
     win_T	*wp = find_popup_win(id);
 
-    if (wp != NULL && (wp->w_popup_flags & PFL_HIDDEN) == 0)
+    if (wp != NULL && (wp->w_popup_flags & POPF_HIDDEN) == 0)
     {
-	wp->w_popup_flags |= PFL_HIDDEN;
+	wp->w_popup_flags |= POPF_HIDDEN;
 	redraw_all_later(NOT_VALID);
     }
 }
@@ -344,9 +344,9 @@
     int		id = (int)tv_get_number(argvars);
     win_T	*wp = find_popup_win(id);
 
-    if (wp != NULL && (wp->w_popup_flags & PFL_HIDDEN) != 0)
+    if (wp != NULL && (wp->w_popup_flags & POPF_HIDDEN) != 0)
     {
-	wp->w_popup_flags &= ~PFL_HIDDEN;
+	wp->w_popup_flags &= ~POPF_HIDDEN;
 	redraw_all_later(NOT_VALID);
     }
 }
