diff --git a/ChangeLog b/ChangeLog
index 4f6876b8424493ab5c94e80e5b69368e610a3316..f430738db164b83482e530db5c58506ff006b134 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2015-12-18  Benno Schulenberg  <bensberg@justemail.net>
+	* src/color.c (color_init): Use less #ifdefs.
+
 2015-12-11  Benno Schulenberg  <bensberg@justemail.net>
 	* doc/syntax/Makefile.am: Add missing autoconf and nftables syntaxes.
 	* ChangeLog: Correct a bug number, plus a few other tweaks.
diff --git a/src/color.c b/src/color.c
index 8557aa20b3d13a56bd6888f92f1a33f0be44b2ea..a005eebb00789332b37378f70919375e61299f1c 100644
--- a/src/color.c
+++ b/src/color.c
@@ -101,39 +101,38 @@ void set_colorpairs(void)
 /* Initialize the color information. */
 void color_init(void)
 {
+    colortype *tmpcolor = openfile->colorstrings;
+    bool using_defaults = FALSE;
+    short foreground, background;
+
     assert(openfile != NULL);
 
-    if (has_colors()) {
-	const colortype *tmpcolor;
+    /* If the terminal is not capable of colors, forget it. */
+    if (!has_colors())
+	return;
+
 #ifdef HAVE_USE_DEFAULT_COLORS
-	/* Use the default colors, if available. */
-	bool defok = (use_default_colors() != ERR);
+    /* Allow using the default colors, if available. */
+    using_defaults = (use_default_colors() != ERR);
 #endif
 
-	for (tmpcolor = openfile->colorstrings; tmpcolor != NULL;
+	for (; tmpcolor != NULL;
 		tmpcolor = tmpcolor->next) {
-	    short foreground = tmpcolor->fg, background = tmpcolor->bg;
-	    if (foreground == -1) {
-#ifdef HAVE_USE_DEFAULT_COLORS
-		if (!defok)
-#endif
+	    foreground = tmpcolor->fg;
+	    background = tmpcolor->bg;
+
+	    if (foreground == -1 && !using_defaults)
 		    foreground = COLOR_WHITE;
-	    }
 
-	    if (background == -1) {
-#ifdef HAVE_USE_DEFAULT_COLORS
-		if (!defok)
-#endif
+	    if (background == -1 && !using_defaults)
 		    background = COLOR_BLACK;
-	    }
 
 	    init_pair(tmpcolor->pairnum, foreground, background);
 
 #ifdef DEBUG
-	    fprintf(stderr, "init_pair(): fg = %hd, bg = %hd\n", tmpcolor->fg, tmpcolor->bg);
+	fprintf(stderr, "init_pair(): fg = %hd, bg = %hd\n", foreground, background);
 #endif
 	}
-    }
 }
 
 /* Clean up a regex we previously compiled. */