diff --git a/src/drawline.c b/src/drawline.c
index b2a5951..f3024c2 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -370,7 +370,8 @@
 #ifdef FEAT_PROP_POPUP
 		  + wlv->text_prop_above_count
 #endif
-		    && (wp->w_skipcol == 0 || wlv->row > wp->w_winrow))
+		    && (wp->w_skipcol == 0 || wlv->row > wp->w_winrow
+					       || (wp->w_p_nu && wp->w_p_rnu)))
 	  {
 	      long num;
 	      char *fmt = "%*ld ";
@@ -770,8 +771,18 @@
 	    )
     {
 	int off = (int)(current_ScreenLine - ScreenLines);
+	int skip = 0;
 
-	for (int i = 0; i < 3; ++i)
+	if (wp->w_p_nu && wp->w_p_rnu)
+	    // Do not overwrite the line number, change "123 text" to
+	    // "123>>>xt".
+	    while (skip < wp->w_width && VIM_ISDIGIT(ScreenLines[off]))
+	    {
+		++off;
+		++skip;
+	    }
+
+	for (int i = 0; i < 3 && i + skip < wp->w_width; ++i)
 	{
 	    ScreenLines[off] = '<';
 	    if (enc_utf8)
diff --git a/src/testdir/dumps/Test_smooth_number_7.dump b/src/testdir/dumps/Test_smooth_number_7.dump
new file mode 100644
index 0000000..1f70072
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_number_7.dump
@@ -0,0 +1,12 @@
+|2+0#af5f00255#ffffff0|<+0#4040ff13&@2|o+0#0000000&|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n>g| |t|e
+| +0#af5f00255&@3|x+0#0000000&|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r
+| +0#af5f00255&@3|y+0#0000000&| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g
+| +0#af5f00255&@3| +0#0000000&|t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| 
+| +0#af5f00255&@1|1| |t+0#0000000&|h|r|e@1| @30
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+|-+0#0000000&@1|N|o|.@2|e|r|-@1| @10|2|,|7|3| @9|B|o|t| 
diff --git a/src/testdir/test_scroll_opt.vim b/src/testdir/test_scroll_opt.vim
index 48c81f2..19c753d 100644
--- a/src/testdir/test_scroll_opt.vim
+++ b/src/testdir/test_scroll_opt.vim
@@ -121,6 +121,17 @@
       set smoothscroll
       set number cpo+=n
       :3
+
+      def g:DoRel()
+        set number relativenumber scrolloff=0
+        :%del
+        setline(1, [
+          'one',
+          'very long text '->repeat(12),
+          'three',
+        ])
+        exe "normal 2Gzt\<C-E>"
+      enddef
   END
   call writefile(lines, 'XSmoothNumber', 'D')
   let buf = RunVimInTerminal('-S XSmoothNumber', #{rows: 12, cols: 40})
@@ -138,6 +149,9 @@
   call term_sendkeys(buf, "\<C-Y>")
   call VerifyScreenDump(buf, 'Test_smooth_number_6', {})
 
+  call term_sendkeys(buf, ":call DoRel()\<CR>")
+  call VerifyScreenDump(buf, 'Test_smooth_number_7', {})
+
   call StopVimInTerminal(buf)
 endfunc
 
diff --git a/src/version.c b/src/version.c
index d987d91..3211c53 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    757,
+/**/
     756,
 /**/
     755,
