diff --git a/src/files.c b/src/files.c
index 4a254cc6bc6bd8ea2670519772a80548cc9aa536..a13fd9748b72d8f858bcf5370b80f18eb1a432ff 100644
--- a/src/files.c
+++ b/src/files.c
@@ -1106,12 +1106,11 @@ void do_insertfile(void)
 	} else {
 	    ssize_t was_current_lineno = openfile->current->lineno;
 	    size_t was_current_x = openfile->current_x;
-#if !defined(NANO_TINY) || !defined(DISABLE_BROWSER)
+#if !defined(NANO_TINY) || !defined(DISABLE_BROWSER) || defined(ENABLE_MULTIBUFFER)
 	    functionptrtype func = func_from_key(&i);
 #endif
 	    given = mallocstrcpy(given, answer);
 
-#ifndef NANO_TINY
 #ifdef ENABLE_MULTIBUFFER
 	    if (func == new_buffer_void) {
 		/* Don't allow toggling when in view mode. */
@@ -1122,12 +1121,12 @@ void do_insertfile(void)
 		continue;
 	    }
 #endif
+#ifndef NANO_TINY
 	    if (func == flip_execute_void) {
 		execute = !execute;
 		continue;
 	    }
-#endif /* !NANO_TINY */
-
+#endif
 #ifndef DISABLE_BROWSER
 	    if (func == to_files_void) {
 		char *chosen = do_browse_from(answer);
diff --git a/src/global.c b/src/global.c
index ffc8e740bc70dbd5a22a57181f1e2b7ece7c1104..e760af543a68cf876ff198e8a1e13e6ae6f4f218 100644
--- a/src/global.c
+++ b/src/global.c
@@ -297,9 +297,11 @@ void backup_file_void(void)
 void discard_buffer(void)
 {
 }
+#ifdef ENABLE_MULTIBUFFER
 void new_buffer_void(void)
 {
 }
+#endif
 void flip_replace_void(void)
 {
 }
@@ -999,13 +1001,13 @@ void shortcut_init(void)
 
 	add_to_funcs(flip_execute_void, MEXTCMD,
 	    read_file_tag, IFSCHELP(nano_insert_msg), TOGETHER, NOVIEW);
-
+    }
+#endif /* !NANO_TINY */
 #ifdef ENABLE_MULTIBUFFER
+    if (!ISSET(RESTRICTED))
 	add_to_funcs(new_buffer_void, MINSERTFILE|MEXTCMD,
 	    N_("New Buffer"), IFSCHELP(nano_newbuffer_msg), TOGETHER, NOVIEW);
 #endif
-    }
-#endif /* !NANO_TINY */
 
 #ifndef DISABLE_BROWSER
     if (!ISSET(RESTRICTED))
@@ -1287,9 +1289,12 @@ void shortcut_init(void)
 	add_to_sclist(MWRITEFILE, "M-P", 0, prepend_void, 0);
 	add_to_sclist(MWRITEFILE, "M-B", 0, backup_file_void, 0);
 	add_to_sclist(MINSERTFILE|MEXTCMD, "^X", 0, flip_execute_void, 0);
-	add_to_sclist(MINSERTFILE|MEXTCMD, "M-F", 0, new_buffer_void, 0);
     }
 #endif
+#ifdef ENABLE_MULTIBUFFER
+    if (!ISSET(RESTRICTED))
+	add_to_sclist(MINSERTFILE|MEXTCMD, "M-F", 0, new_buffer_void, 0);
+#endif
 #ifndef DISABLE_BROWSER
     /* In restricted mode, don't allow entering the file browser. */
     if (!ISSET(RESTRICTED))
diff --git a/src/proto.h b/src/proto.h
index b1e01a986f984cd33469b7ac2f35ce49d2b92354..ac9e62cf4c61d87e386c21d0f5f889079426cc61 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -697,7 +697,9 @@ void prepend_void(void);
 void backup_file_void(void);
 #endif
 void discard_buffer(void);
+#ifdef ENABLE_MULTIBUFFER
 void new_buffer_void(void);
+#endif
 void backwards_void(void);
 void goto_dir_void(void);
 void flip_replace_void(void);