Index: src/nano.c =================================================================== --- src/nano.c (revision 4962) +++ src/nano.c (working copy) @@ -1714,7 +1714,7 @@ /* If we aren't cutting or copying text, and the key wasn't a toggle, * blow away the text in the cutbuffer upon the next cutting action. */ - if (!preserve) + if (!ISSET(UNDOABLE) && !preserve) cutbuffer_reset(); return input; Index: src/text.c =================================================================== --- src/text.c (revision 4962) +++ src/text.c (working copy) @@ -948,6 +948,7 @@ case CUT_EOF: u->to_end = TRUE; case CUT: + cutbuffer_reset(); u->mark_set = openfile->mark_set; if (u->mark_set) { u->mark_begin_lineno = openfile->mark_begin->lineno;