diff --git a/BUGS b/BUGS
index 8e2b913a108a6e790baaca4d899d21e89a01dabc..932e140c2a70c978ca0e781e8a6fb55b9b4c301b 100644
--- a/BUGS
+++ b/BUGS
@@ -114,6 +114,9 @@
   properly (discovered by David Lawrence Ramsey) (59) [FIXED].
 - On BSD systems, marked cutting sna paste often screws up the
   last line in the cutbuffer (discovered by Barry Pederson) (60) [FIXED]
+- Blank lines are not kept when cutting with -k (discovered by Rocco)
+  (61) [FIXED].
+
 
 ** Open BUGS **
 
diff --git a/ChangeLog b/ChangeLog
index e4e17585daf0cd5c6d84a0f417bc937f706c774b..05118e5a43a53e82c99821bda0a13e73063f8d7a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -50,6 +50,9 @@ Cvs code -
 	- Added 'destructive' argument.  Allows the selected text to be
 	  added to the cutbuffer without changing the contents of the 
 	  file.  This allows writing selection to separate files.
+  do_cut_text()
+	- If the next line is empty when using -k, create a dummy line
+	  and add it to the cutbuffer (fixes bug #61)
 - faq.html:
 	- Brought the FAQ up to date, many little changes (Jordi).
 - files.c:
diff --git a/cut.c b/cut.c
index 1532e4e84c7b299010077d466f46925e1742cc66..a0466605c68e664cd12e9c34fb0f9bd89a9d06ff 100644
--- a/cut.c
+++ b/cut.c
@@ -184,6 +184,15 @@ int do_cut_text(void)
 #ifndef NANO_SMALL
     if (ISSET(CUT_TO_END) && !ISSET(MARK_ISSET)) {
 	if (current_x == strlen(current->data)) {
+
+	    /* If the next line is empty, create a dummy line and add it
+		to the cutbuffer */
+	    if (current->next != NULL && strlen(current->next->data) == 0) {
+		filestruct *junk;
+
+		junk = copy_node(current->next);
+		add_to_cutbuffer(junk);
+	    }
 	    do_delete();
 	    SET(KEEP_CUTBUFFER);
 	    marked_cut = 2;