diff --git a/main/xmldoc.c b/main/xmldoc.c
index 56f1c74f01c41e53490fb08213024a47cb1155e0..225ed66110098f6e7224155811c0fa87087a1cb9 100644
--- a/main/xmldoc.c
+++ b/main/xmldoc.c
@@ -358,7 +358,13 @@ char *ast_xmldoc_printable(const char *bwinput, int withcolors)
 
 			/* Setup color */
 			if (withcolors) {
-				ast_term_color_code(&colorized, colorized_tags[c].colorfg, 0);
+				if (ast_opt_light_background) {
+					/* Turn off *bright* colors */
+					ast_term_color_code(&colorized, colorized_tags[c].colorfg & 0x7f, 0);
+				} else {
+					/* Turn on *bright* colors */
+					ast_term_color_code(&colorized, colorized_tags[c].colorfg | 0x80, 0);
+				}
 				if (!colorized) {
 					return NULL;
 				}