diff --git a/src/diff.c b/src/diff.c
index f5ea0c6..bf62545 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -1117,26 +1117,31 @@
     win_T	*wp;
     int		addbuf;		/* Add buffer to diff. */
 {
+# ifdef FEAT_FOLDING
+    win_T *old_curwin = curwin;
+
+    /* close the manually opened folds */
+    curwin = wp;
+    newFoldLevel();
+    curwin = old_curwin;
+# endif
+
     wp->w_p_diff = TRUE;
     wp->w_p_scb = TRUE;
     wp->w_p_wrap = FALSE;
 # ifdef FEAT_FOLDING
-    {
-	win_T	    *old_curwin = curwin;
-
-	curwin = wp;
-	curbuf = curwin->w_buffer;
-	set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff",
+    curwin = wp;
+    curbuf = curwin->w_buffer;
+    set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff",
 						       OPT_LOCAL|OPT_FREE, 0);
-	curwin = old_curwin;
-	curbuf = curwin->w_buffer;
-	wp->w_p_fdc = diff_foldcolumn;
-	wp->w_p_fen = TRUE;
-	wp->w_p_fdl = 0;
-	foldUpdateAll(wp);
-	/* make sure topline is not halfway a fold */
-	changed_window_setting_win(wp);
-    }
+    curwin = old_curwin;
+    curbuf = curwin->w_buffer;
+    wp->w_p_fdc = diff_foldcolumn;
+    wp->w_p_fen = TRUE;
+    wp->w_p_fdl = 0;
+    foldUpdateAll(wp);
+    /* make sure topline is not halfway a fold */
+    changed_window_setting_win(wp);
 # endif
 #ifdef FEAT_SCROLLBIND
     if (vim_strchr(p_sbo, 'h') == NULL)
diff --git a/src/fold.c b/src/fold.c
index ff1139d..a23a35c 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -854,12 +854,6 @@
 	    && fp->fd_top < bot)
     {
 	fp->fd_small = MAYBE;
-
-	/* Not sure if this is the right place to reset fd_flags (suggested by
-	 * Lech Lorens). */
-        if (wp->w_foldinvalid)
-            fp->fd_flags = FD_LEVEL;
-
 	++fp;
     }
 
diff --git a/src/option.c b/src/option.c
index 99e94d5..ba17c11 100644
--- a/src/option.c
+++ b/src/option.c
@@ -6586,7 +6586,11 @@
 		|| *curwin->w_p_fdm == NUL)
 	    errmsg = e_invarg;
 	else
+	{
 	    foldUpdateAll(curwin);
+	    if (foldmethodIsDiff(curwin))
+		newFoldLevel();
+	}
     }
 # ifdef FEAT_EVAL
     /* 'foldexpr' */
diff --git a/src/testdir/test45.in b/src/testdir/test45.in
index 1dfad54..e5af507 100644
--- a/src/testdir/test45.in
+++ b/src/testdir/test45.in
@@ -36,6 +36,8 @@
 k:call append("$", getline("."))
 jAcommentstart  Acommentend:set fdl=1
 3j:call append("$", getline("."))
+:set fdl=0
+zOj:call append("$", getline("."))
 :" test expression folding
 :fun Flvl()
   let l = getline(v:lnum)
diff --git a/src/testdir/test45.ok b/src/testdir/test45.ok
index 713cf88..f04996e 100644
--- a/src/testdir/test45.ok
+++ b/src/testdir/test45.ok
@@ -11,6 +11,7 @@
 folding 9 ii
     3 cc
 7 gg
+8 hh
 expr 2
 1
 2
diff --git a/src/version.c b/src/version.c
index cbdcf2e..212e34d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -682,6 +682,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    370,
+/**/
     369,
 /**/
     368,
