diff --git a/src/screen.c b/src/screen.c
index 4effa52..01428c4 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -2176,7 +2176,14 @@
 	    {
 		// 'relativenumber' set: The text doesn't need to be drawn, but
 		// the number column nearly always does.
-		(void)win_line(wp, lnum, srow, wp->w_height, TRUE, TRUE);
+		fold_count = foldedCount(wp, lnum, &win_foldinfo);
+		if (fold_count != 0)
+		{
+		    fold_line(wp, fold_count, &win_foldinfo, lnum, row);
+		    --fold_count;
+		}
+		else
+		    (void)win_line(wp, lnum, srow, wp->w_height, TRUE, TRUE);
 	    }
 
 	    // This line does not need to be drawn, advance to the next one.
@@ -3315,8 +3322,8 @@
 	    has_spell = TRUE;
 	    extra_check = TRUE;
 
-	    /* Get the start of the next line, so that words that wrap to the next
-	     * line are found too: "et<line-break>al.".
+	    /* Get the start of the next line, so that words that wrap to the
+	     * next line are found too: "et<line-break>al.".
 	     * Trick: skip a few chars for C/shell/Vim comments */
 	    nextline[SPWORDLEN] = NUL;
 	    if (lnum < wp->w_buffer->b_ml.ml_line_count)
@@ -3325,8 +3332,8 @@
 		spell_cat_line(nextline + SPWORDLEN, line, SPWORDLEN);
 	    }
 
-	    /* When a word wrapped from the previous line the start of the current
-	     * line is valid. */
+	    /* When a word wrapped from the previous line the start of the
+	     * current line is valid. */
 	    if (lnum == checked_lnum)
 		cur_checked_col = checked_col;
 	    checked_lnum = 0;
diff --git a/src/testdir/dumps/Test_folds_with_rnu_01.dump b/src/testdir/dumps/Test_folds_with_rnu_01.dump
new file mode 100644
index 0000000..15a44d1
--- /dev/null
+++ b/src/testdir/dumps/Test_folds_with_rnu_01.dump
@@ -0,0 +1,20 @@
+|++0#0000e05#a8a8a8255| @2|0| >+|-@1| @1|2| |l|i|n|e|s|:| |-@54
+|+| @2|1| |+|-@1| @1|2| |l|i|n|e|s|:| |-@54
+| @1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000000&@56|1|,|1| @10|A|l@1| 
diff --git a/src/testdir/dumps/Test_folds_with_rnu_02.dump b/src/testdir/dumps/Test_folds_with_rnu_02.dump
new file mode 100644
index 0000000..60d4eb3
--- /dev/null
+++ b/src/testdir/dumps/Test_folds_with_rnu_02.dump
@@ -0,0 +1,20 @@
+|++0#0000e05#a8a8a8255| @2|1| |+|-@1| @1|2| |l|i|n|e|s|:| |-@54
+|+| @2|0| >+|-@1| @1|2| |l|i|n|e|s|:| |-@54
+| @1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|~+0#4040ff13#ffffff0| @71
+| +0#0000000&@56|3|,|1| @10|A|l@1| 
diff --git a/src/testdir/test_fold.vim b/src/testdir/test_fold.vim
index df4b12c..0384b4f 100644
--- a/src/testdir/test_fold.vim
+++ b/src/testdir/test_fold.vim
@@ -1,6 +1,7 @@
 " Test for folding
 
 source view_util.vim
+source screendump.vim
 
 func PrepIndent(arg)
   return [a:arg] + repeat(["\t".a:arg], 5)
@@ -674,3 +675,23 @@
   set fdm&
   enew!
 endfunc
+
+func Test_folds_with_rnu()
+  if !CanRunVimInTerminal()
+    return
+  endif
+
+  call writefile([
+	\ 'set fdm=marker rnu foldcolumn=2',
+	\ 'call setline(1, ["{{{1", "nline 1", "{{{1", "line 2"])',
+	\ ], 'Xtest_folds_with_rnu')
+  let buf = RunVimInTerminal('-S Xtest_folds_with_rnu', {})
+
+  call VerifyScreenDump(buf, 'Test_folds_with_rnu_01', {})
+  call term_sendkeys(buf, "j")
+  call VerifyScreenDump(buf, 'Test_folds_with_rnu_02', {})
+
+  " clean up
+  call StopVimInTerminal(buf)
+  call delete('Xtest_folds_with_rnu')
+endfunc
diff --git a/src/version.c b/src/version.c
index 928a07e..a0aa0dc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -793,6 +793,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    449,
+/**/
     448,
 /**/
     447,
