diff --git a/src/edit.c b/src/edit.c
index ee308bd..b76ebe5 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -8135,9 +8135,9 @@
 # ifdef USE_IM_CONTROL
 	int	im_on = im_get_status();
 # endif
-	/* Sync undo, so the effect of e.g., setline() can be undone. */
-	u_sync(TRUE);
-	ins_need_undo = TRUE;
+	/* Sync undo when evaluating the expression calls setline() or
+	 * append(), so that it can be undone separately. */
+	u_sync_once = 2;
 
 	regname = get_expr_register();
 # ifdef USE_IM_CONTROL
@@ -8178,6 +8178,9 @@
 #ifdef FEAT_EVAL
     }
     --no_u_sync;
+    if (u_sync_once == 1)
+	ins_need_undo = TRUE;
+    u_sync_once = 0;
 #endif
 #ifdef FEAT_CMDL_INFO
     clear_showcmd();
diff --git a/src/eval.c b/src/eval.c
index 5cac7b4..2a2817e 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -8742,6 +8742,14 @@
     typval_T	*tv;
     long	added = 0;
 
+    /* When coming here from Insert mode, sync undo, so that this can be
+     * undone separately from what was previously inserted. */
+    if (u_sync_once == 2)
+    {
+	u_sync_once = 1; /* notify that u_sync() was called */
+	u_sync(TRUE);
+    }
+
     lnum = get_tv_lnum(argvars);
     if (lnum >= 0
 	    && lnum <= curbuf->b_ml.ml_line_count
@@ -16408,6 +16416,15 @@
 	rettv->vval.v_number = 1;	/* FAIL */
 	if (line == NULL || lnum < 1 || lnum > curbuf->b_ml.ml_line_count + 1)
 	    break;
+
+	/* When coming here from Insert mode, sync undo, so that this can be
+	 * undone separately from what was previously inserted. */
+	if (u_sync_once == 2)
+	{
+	    u_sync_once = 1; /* notify that u_sync() was called */
+	    u_sync(TRUE);
+	}
+
 	if (lnum <= curbuf->b_ml.ml_line_count)
 	{
 	    /* existing line, replace it */
diff --git a/src/globals.h b/src/globals.h
index 1e966cf..feb1dd4 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -916,6 +916,10 @@
 EXTERN int allow_keys INIT(= FALSE);	/* allow key codes when no_mapping
 					 * is set */
 EXTERN int no_u_sync INIT(= 0);		/* Don't call u_sync() */
+#ifdef FEAT_EVAL
+EXTERN int u_sync_once INIT(= 0);	/* Call u_sync() once when evaluating
+					   an expression. */
+#endif
 
 EXTERN int restart_edit INIT(= 0);	/* call edit when next cmd finished */
 EXTERN int arrow_used;			/* Normally FALSE, set to TRUE after
diff --git a/src/testdir/test61.in b/src/testdir/test61.in
index 422adb8..dc24ab9 100644
--- a/src/testdir/test61.in
+++ b/src/testdir/test61.in
@@ -93,7 +93,17 @@
 :set ul=100
 o1a2=setline('.','1234')
 
-uu:%w >>test.out
+uu:"
+oc
+:set ul=100
+o1a2=setline('.','1234')
+
+u:"
+od
+:set ul=100
+o1a2=string(123)
+u:"
+:%w >>test.out
 :qa!
 ENDTEST
 
diff --git a/src/testdir/test61.ok b/src/testdir/test61.ok
index 0e3a525..ea4b473 100644
--- a/src/testdir/test61.ok
+++ b/src/testdir/test61.ok
@@ -44,3 +44,6 @@
 
 a
 b
+c
+12
+d
diff --git a/src/version.c b/src/version.c
index e84ea52..7b6b20d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1303,
+/**/
     1302,
 /**/
     1301,
