diff --git a/ChangeLog b/ChangeLog
index cf91f1daad3aae065b278eb4bb677d1a22aa7460..65948c029a2bc79bd088c73a31d9eace207c811d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-04-14  Benno Schulenberg  <bensberg@justemail.net>
+	* src/{proto.h,cut.c,nano.c,text.c}: Remove the unused parameter
+	'file_bot' from copy_from_filestruct(), and rename the other.
+
 2014-04-13  Benno Schulenberg  <bensberg@justemail.net>
 	* proto.h, global.c, rcfile.c: Remove the unused parameter 'menu'
 	from strtosc().
diff --git a/src/cut.c b/src/cut.c
index a5b8919de339d5a3b71d4a445e499556d598f1c2..9ea2321ea05cc9b5a3db945b5a32659fa6d9858b 100644
--- a/src/cut.c
+++ b/src/cut.c
@@ -189,10 +189,10 @@ void do_cut_text(
 	if (cutbuffer != NULL) {
 	    if (cb_save != NULL) {
 		cb_save->data += cb_save_len;
-		copy_from_filestruct(cb_save, cutbottom);
+		copy_from_filestruct(cb_save);
 		cb_save->data -= cb_save_len;
 	    } else
-		copy_from_filestruct(cutbuffer, cutbottom);
+		copy_from_filestruct(cutbuffer);
 
 	    /* Set the current place we want to where the text from the
 	     * cutbuffer ends. */
@@ -269,7 +269,7 @@ void do_uncut_text(void)
 
     /* Add a copy of the text in the cutbuffer to the current filestruct
      * at the current cursor position. */
-    copy_from_filestruct(cutbuffer, cutbottom);
+    copy_from_filestruct(cutbuffer);
 
     /* Set the current place we want to where the text from the
      * cutbuffer ends. */
diff --git a/src/nano.c b/src/nano.c
index d436035ed48d2b4c60496578ca3d556f322ad7c2..cc59a9b9842de2b3c1eaf3f452859becfc82338f 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -411,10 +411,9 @@ void move_to_filestruct(filestruct **file_top, filestruct **file_bot,
 	new_magicline();
 }
 
-/* Copy all the text from the filestruct beginning with file_top and
- * ending with file_bot to the current filestruct at the current cursor
- * position. */
-void copy_from_filestruct(filestruct *file_top, filestruct *file_bot)
+/* Copy all text from the given filestruct to the current filestruct
+ * at the current cursor position. */
+void copy_from_filestruct(filestruct *somebuffer)
 {
     filestruct *top_save;
     size_t current_x_save = openfile->current_x;
@@ -423,7 +422,7 @@ void copy_from_filestruct(filestruct *file_top, filestruct *file_bot)
     bool right_side_up = FALSE, single_line = FALSE;
 #endif
 
-    assert(file_top != NULL && file_bot != NULL);
+    assert(somebuffer != NULL);
 
 #ifndef NANO_TINY
     /* Keep track of whether the mark begins inside the partition and
@@ -446,9 +445,9 @@ void copy_from_filestruct(filestruct *file_top, filestruct *file_bot)
 	openfile->current_x, openfile->current, openfile->current_x);
     edittop_inside = (openfile->edittop == openfile->fileage);
 
-    /* Put the top and bottom of the filestruct at copies of file_top
-     * and file_bot. */
-    openfile->fileage = copy_filestruct(file_top);
+    /* Put the top and bottom of the current filestruct at the top and
+     * bottom of a copy of the passed buffer. */
+    openfile->fileage = copy_filestruct(somebuffer);
     openfile->filebot = openfile->fileage;
     while (openfile->filebot->next != NULL)
 	openfile->filebot = openfile->filebot->next;
diff --git a/src/proto.h b/src/proto.h
index c6adf4f0802695eee424b3081b508d2036678997..7dbb90b577b73b874c87161d31cee9f94b6bc695 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -430,7 +430,7 @@ partition *partition_filestruct(filestruct *top, size_t top_x,
 void unpartition_filestruct(partition **p);
 void move_to_filestruct(filestruct **file_top, filestruct **file_bot,
 	filestruct *top, size_t top_x, filestruct *bot, size_t bot_x);
-void copy_from_filestruct(filestruct *file_top, filestruct *file_bot);
+void copy_from_filestruct(filestruct *somebuffer);
 openfilestruct *make_new_opennode(void);
 void splice_opennode(openfilestruct *begin, openfilestruct *newnode,
 	openfilestruct *end);
diff --git a/src/text.c b/src/text.c
index 665c48373301bd44c07c72217771261af91f131c..938671e79171186587173cbd3c701da5086eeceb 100644
--- a/src/text.c
+++ b/src/text.c
@@ -378,7 +378,7 @@ void undo_cut(undo *u)
     else
 	do_gotolinecolumn(u->lineno, u->begin+1, FALSE, FALSE, FALSE, FALSE);
 
-    copy_from_filestruct(cutbuffer, cutbottom);
+    copy_from_filestruct(cutbuffer);
     free_filestruct(cutbuffer);
     cutbuffer = NULL;
 
@@ -663,7 +663,7 @@ void do_redo(void)
     case INSERT:
 	undidmsg = _("text insert");
 	do_gotolinecolumn(u->lineno, u->begin+1, FALSE, FALSE, FALSE, FALSE);
-        copy_from_filestruct(u->cutbuffer, u->cutbottom);
+	copy_from_filestruct(u->cutbuffer);
 	openfile->placewewant = xplustabs();
 	break;
     default:
@@ -1810,7 +1810,7 @@ void backup_lines(filestruct *first_line, size_t par_len)
 
     /* Copy the paragraph back to the current buffer's filestruct from
      * the justify buffer. */
-    copy_from_filestruct(jusbuffer, jusbottom);
+    copy_from_filestruct(jusbuffer);
 
     /* Move upward from the last line of the paragraph to the first
      * line, putting first_line, edittop, current, and mark_begin at the