diff --git a/src/screen.c b/src/screen.c
index 387c398..be3bcfa 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -823,7 +823,7 @@
     did_intro = TRUE;
 
 #ifdef FEAT_TEXT_PROP
-    // Display popup windows on top of the others.
+    // Display popup windows on top of the windows.
     update_popups();
 #endif
 
@@ -987,6 +987,11 @@
 	    win_redr_status(wp, FALSE);
     }
 
+#ifdef FEAT_TEXT_PROP
+    // Display popup windows on top of the others.
+    update_popups();
+#endif
+
     update_finish();
 }
 #endif
@@ -1211,6 +1216,11 @@
 	    )
 	win_redr_status(wp, FALSE);
 
+#ifdef FEAT_TEXT_PROP
+    // Display popup windows on top of everything.
+    update_popups();
+#endif
+
     update_finish();
 }
 #endif
@@ -6795,6 +6805,11 @@
 	    win_redr_status(wp, FALSE);
     if (redraw_tabline)
 	draw_tabline();
+
+#ifdef FEAT_TEXT_PROP
+    // Display popup windows on top of the status lines.
+    update_popups();
+#endif
 }
 
 #if defined(FEAT_WILDMENU) || defined(PROTO)
@@ -11101,6 +11116,11 @@
     /* Redraw the tab pages line if needed. */
     if (redraw_tabline)
 	draw_tabline();
+
+#ifdef FEAT_TEXT_PROP
+    // Display popup windows on top of everything.
+    update_popups();
+#endif
 }
 
 #ifdef FEAT_CMDL_INFO
diff --git a/src/testdir/dumps/Test_popupwin_behind.dump b/src/testdir/dumps/Test_popupwin_behind.dump
new file mode 100644
index 0000000..1fa8615
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_behind.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@36||+1&&> +0&&@36
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @34|l+0#0000001#ffd7ff255|i|n|e|1| +0#4040ff13#ffffff0@33
+|[+1#0000000&|N|o| |N|a|m|e|]| @9|0|,|0|-|1| @9|A|l|l+0#0000001#ffd7ff255|i|n|e|2| +3#0000000#ffffff0|N|a|m|e|]| @9|0|,|0|-|1| @9|A|l@1
+| +0&&@35|l+0#0000001#ffd7ff255|i|n|e|3| +0#0000000#ffffff0@33
+|~+0#4040ff13&| @34|l+0#0000001#ffd7ff255|i|n|e|4| +0#4040ff13#ffffff0@33
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|A+0&&|l|r|e|a|d|y| |o|n|l|y| |o|n|e| |w|i|n|d|o|w| @51
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 4ed3b1c..0eb171a 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -610,3 +610,40 @@
   call assert_equal(2, pos.width)
   call assert_equal(3, pos.height)
 endfunc
+
+func Test_popup_never_behind()
+  if !CanRunVimInTerminal()
+    return
+  endif
+  " +-----------------------------+
+  " |             |               |
+  " |             |               |
+  " |             |               |
+  " |            line1            |
+  " |------------line2------------|
+  " |            line3            |
+  " |            line4            |
+  " |                             |
+  " |                             |
+  " +-----------------------------+
+  let lines =<< trim END
+    only 
+    split
+    vsplit
+    let info_window1 = getwininfo()[0]
+    let line = info_window1['height']
+    let col = info_window1['width']
+    call popup_create(['line1', 'line2', 'line3', 'line4'], {
+	      \   'line' : line,
+	      \   'col' : col,
+	      \ })
+  END
+  call writefile(lines, 'XtestPopupBehind')
+  let buf = RunVimInTerminal('-S XtestPopupBehind', {'rows': 10})
+  call term_sendkeys(buf, "\<C-W>w")
+  call VerifyScreenDump(buf, 'Test_popupwin_behind', {})
+
+  " clean up
+  call StopVimInTerminal(buf)
+  call delete('XtestPopupBehind')
+endfunc
diff --git a/src/version.c b/src/version.c
index 9f316c1..83181ab 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1448,
+/**/
     1447,
 /**/
     1446,
