diff --git a/src/drawline.c b/src/drawline.c
index 7f96603..9dfa174 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -666,6 +666,7 @@
 					  // syntax_attr
     int		text_prop_id = 0;	// active property ID
     int		text_prop_flags = 0;
+    int		text_prop_above = FALSE;  // first doing virtual text above
     int		text_prop_follows = FALSE;  // another text prop to display
     int		saved_search_attr = 0;	// search_attr to be used when n_extra
 					// goes to zero
@@ -1784,6 +1785,7 @@
 
 		    // Sort the properties on priority and/or starting last.
 		    // Then combine the attributes, highest priority last.
+		    text_prop_above = FALSE;
 		    text_prop_follows = FALSE;
 		    sort_text_props(wp->w_buffer, text_props,
 					    text_prop_idxs, text_props_active);
@@ -1817,6 +1819,8 @@
 			char_u	    *p = ((char_u **)wp->w_buffer
 						   ->b_textprop_text.ga_data)[
 							   -text_prop_id - 1];
+			int	    above = (tp->tp_flags
+							& TP_FLAG_ALIGN_ABOVE);
 
 			// reset the ID in the copy to avoid it being used
 			// again
@@ -1826,8 +1830,6 @@
 			{
 			    int	    right = (tp->tp_flags
 							& TP_FLAG_ALIGN_RIGHT);
-			    int	    above = (tp->tp_flags
-							& TP_FLAG_ALIGN_ABOVE);
 			    int	    below = (tp->tp_flags
 							& TP_FLAG_ALIGN_BELOW);
 			    int	    wrap = (tp->tp_flags & TP_FLAG_WRAP);
@@ -1902,6 +1904,9 @@
 
 			// If another text prop follows the condition below at
 			// the last window column must know.
+			// If this is an "above" text prop and 'nowrap' the we
+			// must wrap anyway.
+			text_prop_above = above;
 			text_prop_follows = other_tpi != -1;
 		    }
 		}
@@ -3581,7 +3586,7 @@
 		    || filler_todo > 0
 #endif
 #ifdef FEAT_PROP_POPUP
-		    || text_prop_follows
+		    || text_prop_above || text_prop_follows
 #endif
 		    || (wp->w_p_list && wp->w_lcs_chars.eol != NUL
 						&& wlv.p_extra != at_end_str)
@@ -3608,12 +3613,12 @@
 			&& filler_todo <= 0
 #endif
 #ifdef FEAT_PROP_POPUP
-			&& !text_prop_follows
+			&& !text_prop_above && !text_prop_follows
 #endif
 		    ) || lcs_eol_one == -1)
 		break;
 #ifdef FEAT_PROP_POPUP
-	    if (!wp->w_p_wrap && text_prop_follows)
+	    if (!wp->w_p_wrap && text_prop_follows && !text_prop_above)
 	    {
 		// do not output more of the line, only the "below" prop
 		ptr += STRLEN(ptr);
@@ -3647,7 +3652,7 @@
 		     && filler_todo <= 0
 #endif
 #ifdef FEAT_PROP_POPUP
-		     && !text_prop_follows
+		     && !text_prop_above && !text_prop_follows
 #endif
 		     && wp->w_width == Columns)
 	    {
