diff --git a/src/evalbuffer.c b/src/evalbuffer.c
index 9ce1d41..4a9d598 100644
--- a/src/evalbuffer.c
+++ b/src/evalbuffer.c
@@ -535,6 +535,7 @@
 			   || first > buf->b_ml.ml_line_count || last < first)
 	return;
 
+    // After this don't use "return", goto "cleanup"!
     if (!is_curbuf)
     {
 	VIsual_active = FALSE;
@@ -556,38 +557,35 @@
     }
 
     if (u_save(first - 1, last + 1) == FAIL)
-    {
-	rettv->vval.v_number = 1;	// FAIL
-    }
-    else
-    {
-	for (lnum = first; lnum <= last; ++lnum)
-	    ml_delete_flags(first, ML_DEL_MESSAGE);
+	goto cleanup;
 
-	FOR_ALL_TAB_WINDOWS(tp, wp)
-	    if (wp->w_buffer == buf)
-	    {
-		if (wp->w_cursor.lnum > last)
-		    wp->w_cursor.lnum -= count;
-		else if (wp->w_cursor.lnum > first)
-		    wp->w_cursor.lnum = first;
-		if (wp->w_cursor.lnum > wp->w_buffer->b_ml.ml_line_count)
-		    wp->w_cursor.lnum = wp->w_buffer->b_ml.ml_line_count;
-		wp->w_valid = 0;
-		if (wp->w_cursor.lnum <= wp->w_topline)
-		    wp->w_topline = 1;
-	    }
-	check_cursor_col();
-	deleted_lines_mark(first, count);
-    }
+    for (lnum = first; lnum <= last; ++lnum)
+	ml_delete_flags(first, ML_DEL_MESSAGE);
 
+    FOR_ALL_TAB_WINDOWS(tp, wp)
+	if (wp->w_buffer == buf)
+	{
+	    if (wp->w_cursor.lnum > last)
+		wp->w_cursor.lnum -= count;
+	    else if (wp->w_cursor.lnum > first)
+		wp->w_cursor.lnum = first;
+	    if (wp->w_cursor.lnum > wp->w_buffer->b_ml.ml_line_count)
+		wp->w_cursor.lnum = wp->w_buffer->b_ml.ml_line_count;
+	    wp->w_valid = 0;
+	    if (wp->w_cursor.lnum <= wp->w_topline)
+		wp->w_topline = 1;
+	}
+    check_cursor_col();
+    deleted_lines_mark(first, count);
+    rettv->vval.v_number = 0; // OK
+
+cleanup:
     if (!is_curbuf)
     {
 	curbuf = curbuf_save;
 	curwin = curwin_save;
 	VIsual_active = save_VIsual_active;
     }
-    rettv->vval.v_number = 0; // OK
 }
 
 /*
diff --git a/src/testdir/test_bufline.vim b/src/testdir/test_bufline.vim
index 13e891b..da8c4a5 100644
--- a/src/testdir/test_bufline.vim
+++ b/src/testdir/test_bufline.vim
@@ -279,4 +279,20 @@
   call delete('Xresult')
 endfunc
 
+" Test that setbufline(), appendbufline() and deletebufline() should fail and
+" return 1 when "textlock" is active.
+func Test_change_bufline_with_textlock()
+  new
+  inoremap <buffer> <expr> <F2> setbufline('', 1, '')
+  call assert_fails("normal a\<F2>", 'E565:')
+  call assert_equal('1', getline(1))
+  inoremap <buffer> <expr> <F2> appendbufline('', 1, '')
+  call assert_fails("normal a\<F2>", 'E565:')
+  call assert_equal('11', getline(1))
+  inoremap <buffer> <expr> <F2> deletebufline('', 1)
+  call assert_fails("normal a\<F2>", 'E565:')
+  call assert_equal('111', getline(1))
+  bwipe!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index e7dc5a5..0e59a78 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    841,
+/**/
     840,
 /**/
     839,
