diff --git a/src/ops.c b/src/ops.c
index 12978a8..2dcdb77 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -5382,6 +5382,8 @@
     int		pos = 0;
     int		bit = 0;
     int		bits = sizeof(unsigned long) * 8;
+    pos_T	startpos;
+    pos_T	endpos;
 
     dohex = (vim_strchr(curbuf->b_p_nf, 'x') != NULL);	/* "heX" */
     dooct = (vim_strchr(curbuf->b_p_nf, 'o') != NULL);	/* "Octal" */
@@ -5582,9 +5584,12 @@
 #endif
 	    }
 	    curwin->w_cursor.col = col;
+	    if (!did_change)
+		startpos = curwin->w_cursor;
 	    did_change = TRUE;
 	    (void)del_char(FALSE);
 	    ins_char(firstdigit);
+	    endpos = curwin->w_cursor;
 	    curwin->w_cursor.col = col;
 	}
 	else
@@ -5677,6 +5682,8 @@
 	     * Delete the old number.
 	     */
 	    curwin->w_cursor.col = col;
+	    if (!did_change)
+		startpos = curwin->w_cursor;
 	    did_change = TRUE;
 	    todel = length;
 	    c = gchar_cursor();
@@ -5763,6 +5770,7 @@
 	    STRCAT(buf1, buf2);
 	    ins_str(buf1);		/* insert the new number */
 	    vim_free(buf1);
+	    endpos = curwin->w_cursor;
 	    if (lnum < lnume)
 		curwin->w_cursor.col = t.col;
 	    else if (did_change && curwin->w_cursor.col)
@@ -5788,6 +5796,14 @@
     if (visual)
 	/* cursor at the top of the selection */
 	curwin->w_cursor = VIsual;
+    if (did_change)
+    {
+	/* set the '[ and '] marks */
+	curbuf->b_op_start = startpos;
+	curbuf->b_op_end = endpos;
+	if (curbuf->b_op_end.col > 0)
+	    --curbuf->b_op_end.col;
+    }
     return OK;
 }
 
diff --git a/src/testdir/test_marks.in b/src/testdir/test_marks.in
index 341f3ac..23c2fb6 100644
--- a/src/testdir/test_marks.in
+++ b/src/testdir/test_marks.in
@@ -8,11 +8,27 @@
 madduu
 :let a = string(getpos("'a"))
 :$put ='Mark after delete-undo-redo-undo: '.a
-:/^\t/,$wq! test.out
+:''
 ENDTEST
 
 	textline A
 	textline B
 	textline C
 
+STARTTEST
+:" test that CTRL-A and CTRL-X updates last changed mark '[, '].
+:/^123/
+:execute "normal! \<C-A>`[v`]rAjwvjw\<C-X>`[v`]rX"
+ENDTEST
+
+CTRL-A CTRL-X:
+123 123 123
+123 123 123
+123 123 123
+
+STARTTEST
+:g/^STARTTEST/.,/^ENDTEST/d
+:wq! test.out
+ENDTEST
+
 Results:
diff --git a/src/testdir/test_marks.ok b/src/testdir/test_marks.ok
index dd1a3e4..e6c02ee 100644
--- a/src/testdir/test_marks.ok
+++ b/src/testdir/test_marks.ok
@@ -1,6 +1,16 @@
+Tests for marks.
+
+
 	textline A
 	textline B
 	textline C
 
+
+CTRL-A CTRL-X:
+AAA 123 123
+123 XXXXXXX
+XXX 123 123
+
+
 Results:
 Mark after delete-undo-redo-undo: [0, 15, 2, 0]
diff --git a/src/version.c b/src/version.c
index 33eef01..07d2c26 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1085,
+/**/
     1084,
 /**/
     1083,
