diff --git a/src/files.c b/src/files.c
index e9f4048505420ab82477501b3095abbbadd8f195..b34836eb6a76859afd5511936edcc1f797f41f83 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1005,7 +1005,7 @@ void do_insertfile(void)
     char *given = mallocstrcpy(NULL, "");
 	/* The last answer the user typed at the statusbar prompt. */
 #ifndef NANO_TINY
-    bool execute = FALSE, right_side_up = FALSE, single_line = FALSE;
+    bool execute = FALSE;
 #endif
 
     /* Display newlines in filenames as ^J. */
@@ -1055,10 +1055,8 @@ void do_insertfile(void)
 	    statusbar(_("Cancelled"));
 	    break;
 	} else {
-	    filestruct *edittop_save = openfile->edittop;
 	    ssize_t was_current_lineno = openfile->current->lineno;
 	    size_t was_current_x = openfile->current_x;
-	    bool current_was_at_top = FALSE;
 #if !defined(NANO_TINY) || !defined(DISABLE_BROWSER)
 	    functionptrtype func = func_from_key(&i);
 #endif
@@ -1098,29 +1096,6 @@ void do_insertfile(void)
 	    if (i != 0 && (!ISSET(MULTIBUFFER) || i != -2))
 		continue;
 
-#ifndef NANO_TINY
-	    /* Keep track of whether the mark begins inside the
-	     * partition and will need adjustment. */
-	    if (openfile->mark_set) {
-		filestruct *top, *bot;
-		size_t top_x, bot_x;
-
-		mark_order((const filestruct **)&top, &top_x,
-			(const filestruct **)&bot, &bot_x, &right_side_up);
-
-		single_line = (top == bot);
-	    }
-#endif
-	    /* When not inserting into a new buffer, partition the filestruct
-	     * so that it contains no text and hence looks like a new buffer,
-	     * and remember whether the current line is the first on screen. */
-	    if (!ISSET(MULTIBUFFER)) {
-		filepart = partition_filestruct(openfile->current,
-			openfile->current_x, openfile->current,
-			openfile->current_x);
-		current_was_at_top = (openfile->edittop == openfile->fileage);
-	    }
-
 #ifndef NANO_TINY
 	    if (execute) {
 #ifndef DISABLE_MULTIBUFFER
@@ -1169,57 +1144,6 @@ void do_insertfile(void)
 	    } else
 #endif /* !DISABLE_MULTIBUFFER */
 	    {
-		filestruct *top_save = openfile->fileage;
-
-		/* If we were at the top of the edit window before, change the
-		 * saved value of edittop to the start of inserted stuff. */
-		if (current_was_at_top)
-		    edittop_save = openfile->fileage;
-
-		/* Update the current x-coordinate to account for the
-		 * number of characters inserted on the current line.
-		 * If the mark was positioned after the cursor and on the
-		 * same line, adjust the mark's coordinates to compensate
-		 * for the change in this line. */
-		openfile->current_x = strlen(openfile->filebot->data);
-		if (openfile->fileage == openfile->filebot) {
-#ifndef NANO_TINY
-		    if (openfile->mark_set) {
-			openfile->mark_begin = openfile->current;
-			if (!right_side_up)
-			    openfile->mark_begin_x += openfile->current_x;
-		    }
-#endif
-		    openfile->current_x += was_current_x;
-		}
-#ifndef NANO_TINY
-		else if (openfile->mark_set) {
-		    if (!right_side_up) {
-			if (single_line) {
-			    openfile->mark_begin = openfile->current;
-			    openfile->mark_begin_x -= was_current_x;
-			} else
-			    openfile->mark_begin_x -= openfile->current_x;
-		    }
-		}
-#endif
-
-		/* Unpartition the filestruct so that it contains all
-		 * the text again.  Note that we've replaced the
-		 * non-text originally in the partition with the text in
-		 * the inserted file/executed command output. */
-		unpartition_filestruct(&filepart);
-
-		/* Renumber starting with the beginning line of the old
-		 * partition. */
-		renumber(top_save);
-
-		/* Restore the old edittop. */
-		openfile->edittop = edittop_save;
-
-		/* Set the desired x position to the current one. */
-		openfile->placewewant = xplustabs();
-
 		/* Mark the file as modified if it changed. */
 		if (openfile->current->lineno != was_current_lineno ||
 			openfile->current_x != was_current_x)