diff --git a/src/normal.c b/src/normal.c
--- a/src/normal.c
+++ b/src/normal.c
@@ -9415,6 +9415,12 @@
 		/* the delete is going to overwrite the register we want to
 		 * put, save it first. */
 		reg1 = get_register(regname, TRUE);
+# ifdef FEAT_CLIPBOARD
+		/* the unnamed(plus) register was already overwritten, use the
+		 * unnamed register */
+		if (clip_unnamed)
+		    reg1 = get_register('"', TRUE);
+# endif
 	    }
 
 	    /* Now delete the selected text. */
