diff --git a/ChangeLog b/ChangeLog
index 3e50d6f6f3dd7edb98e9b98f0206b7298823a9aa..b6f4c1e84276649af9b78b4161dc9c09623a3878 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-02-22  Benno Schulenberg  <bensberg@justemail.net>
+	* src/nano.c (main) - Add two conditions on ENABLE_NANORC.
+	* src/files.c (close_buffer, do_insertfile) - Likewise.
+	This avoids compilation failure when nano is configured
+	with both --disable-color and --disable-nanorc.
+
 2014-02-22  Felipe Bugno  <capent@Savannah>  (tiny change)
 	* doc/nanorc.sample.in - Add an include for CMake files.
 
diff --git a/src/files.c b/src/files.c
index 156e8d576ebc2350cd5090e62889caeef59aa184..da5e18b92288e033bef80e4476d4d35cb1054e15 100644
--- a/src/files.c
+++ b/src/files.c
@@ -482,9 +482,9 @@ bool close_buffer(void)
     if (openfile == openfile->next)
 	return FALSE;
 
-#ifndef NANO_TINY
+#if !defined(NANO_TINY) && defined(ENABLE_NANORC)
         update_poshistory(openfile->filename, openfile->current->lineno, xplustabs()+1);
-#endif /* NANO_TINY */
+#endif
 
     /* Switch to the next file buffer. */
     switch_to_next_buffer_void();
@@ -1194,7 +1194,7 @@ void do_insertfile(
 	    }
 #endif
 
-#ifdef ENABLE_MULTIBUFFER
+#if defined(ENABLE_MULTIBUFFER) && defined(ENABLE_NANORC)
 	    if (ISSET(MULTIBUFFER)) {
 		/* Update the screen to account for the current
 		 * buffer. */
diff --git a/src/nano.c b/src/nano.c
index d31b29467fb509c5bdfef97e0bcc1b2dea221f04..a2b5d5d47828d11cae6407731bc9351d6d53b6a1 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -2653,7 +2653,7 @@ int main(int argc, char **argv)
 		    iline = 1;
 		    icol = 1;
 		}
-#ifndef NANO_TINY
+#if !defined(NANO_TINY) && defined(ENABLE_NANORC)
                   else {
 		    /* See if we have a POS history to use if we haven't overridden it */
 		    ssize_t savedposline, savedposcol;
@@ -2661,7 +2661,7 @@ int main(int argc, char **argv)
 			do_gotolinecolumn(savedposline, savedposcol, FALSE, FALSE, FALSE,
 			FALSE);
 		}
-#endif /* NANO_TINY */
+#endif
 	    }
 	}
     }
@@ -2699,14 +2699,14 @@ int main(int argc, char **argv)
     if (startline > 1 || startcol > 1)
 	do_gotolinecolumn(startline, startcol, FALSE, FALSE, FALSE,
 		FALSE);
-# ifndef NANO_TINY
+#if !defined(NANO_TINY) && defined(ENABLE_NANORC)
     else {
 	/* See if we have a POS history to use if we haven't overridden it */
 	ssize_t savedposline, savedposcol;
 	if (check_poshistory(argv[optind], &savedposline, &savedposcol))
 	    do_gotolinecolumn(savedposline, savedposcol, FALSE, FALSE, FALSE, FALSE);
     }
-#endif /* NANO_TINY */
+#endif
 
     display_main_list();