diff --git a/ChangeLog b/ChangeLog
index 8eb724a8a9a71310035477c8c642ad7782b7b3dd..2823ff29f4f222006ed3c1f51cb10330f082e0bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -128,6 +128,10 @@ CVS code -
 	- Rename variable editline to line, for consistency. (DLR)
 	- Change variable i from an int to a size_t in order to match
 	  selected, which it's compared against. (DLR)
+- color.c:
+  color_update()
+	- Fix incorrect setting of defcolor, which prevented the
+	  reserved "default" syntax from being handled correctly. (DLR)
 - cut.c:
   cut_to_eof()
 	- New function, containing the main functionality of
diff --git a/src/color.c b/src/color.c
index fb7533f56635e827ed2fb7a09c64f68064e18a76..57d0a9cbd49bd58ba1d4dfd8f448610e861baf05 100644
--- a/src/color.c
+++ b/src/color.c
@@ -142,7 +142,7 @@ void color_update(void)
 	     * syntax names elsewhere.)  Skip over it here, but keep
 	     * track of its color regexes. */
 	    if (strcmp(tmpsyntax->desc, "default") == 0) {
-		defcolor = syntaxes->color;
+		defcolor = tmpsyntax->color;
 		continue;
 	    }