diff --git a/ChangeLog b/ChangeLog
index f0267cbd573f4c1f449ae5422b982081ee2bae2f..42072a7f7a7b280ee19aebd363dca3348faeda7f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -210,6 +210,7 @@ CVS code -
 - doc/syntax/c.nanorc:
 	- Since .i and .ii are preprocessed C and C++ output, colorize
 	  them here. (Mike Frysinger)
+	- Remove redundancy from the file extension regexes. (DLR)
 - doc/syntax/ruby.nanorc:
 	- Add missing blank line after the first comment, for
 	  consistency. (DLR)
diff --git a/doc/syntax/c.nanorc b/doc/syntax/c.nanorc
index e90c623adb7b87d86ef75ba3857fbed8d1e054f3..d0b8b1eecdcdd341b70721b6977f3ca59513191d 100644
--- a/doc/syntax/c.nanorc
+++ b/doc/syntax/c.nanorc
@@ -1,6 +1,6 @@
 ## Here is an example for C/C++.
 ##
-syntax "c" "\.(c|C|cc|cpp|cxx|h|H|hh|hpp|hxx|i|ii)$"
+syntax "c" "\.(c(c|pp|xx)?|C)$" "\.(h(h|pp|xx)?|H)$" "\.ii?$"
 color brightred "\<[A-Z_][0-9A-Z_]+\>" 
 color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|signed|unsigned|inline)\>"
 color green "\<(u_?)?int(8|16|32|64|ptr)_t\>"