diff --git a/src/ops.c b/src/ops.c
index 4bef6c5..f966cb9 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -259,11 +259,6 @@
     }
 
     changed_lines(oap->start.lnum, 0, oap->end.lnum + 1, 0L);
-#ifdef FEAT_FOLDING
-    /* The cursor line is not in a closed fold */
-    foldOpenCursor();
-#endif
-
     if (oap->block_mode)
     {
 	curwin->w_cursor.lnum = oap->start.lnum;
@@ -277,6 +272,12 @@
     else
 	--curwin->w_cursor.lnum;	/* put cursor on last line, for ":>" */
 
+#ifdef FEAT_FOLDING
+    /* The cursor line is not in a closed fold */
+    foldOpenCursor();
+#endif
+
+
     if (oap->line_count > p_report)
     {
 	if (oap->op_type == OP_RSHIFT)
diff --git a/src/testdir/test_fold.vim b/src/testdir/test_fold.vim
index 1b52e92..2ac0004 100644
--- a/src/testdir/test_fold.vim
+++ b/src/testdir/test_fold.vim
@@ -63,3 +63,35 @@
 
   quit!
 endfunction
+
+function! Test_indent_fold()
+    new
+    call setline(1, ['', 'a', '    b', '    c'])
+    setl fen fdm=indent
+    2
+    norm! >>
+    let a=map(range(1,4), 'foldclosed(v:val)')
+    call assert_equal([-1,-1,-1,-1], a)
+endfu
+
+function! Test_indent_fold()
+    new
+    call setline(1, ['', 'a', '    b', '    c'])
+    setl fen fdm=indent
+    2
+    norm! >>
+    let a=map(range(1,4), 'foldclosed(v:val)')
+    call assert_equal([-1,-1,-1,-1], a)
+    bw!
+endfu
+
+function! Test_indent_fold2()
+    new
+    call setline(1, ['', '{{{', '}}}', '{{{', '}}}'])
+    setl fen fdm=marker
+    2
+    norm! >>
+    let a=map(range(1,5), 'foldclosed(v:val)')
+    call assert_equal([-1,-1,-1,4,4], a)
+    bw!
+endfu
diff --git a/src/version.c b/src/version.c
index b3f7c97..f4f20fa 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    136,
+/**/
     135,
 /**/
     134,
