diff --git a/exec/irc.js b/exec/irc.js
index 14f4d80fc52a5c6cbd8f65970f97a2abd45d38ad..0231e2c67df7e1f36e37d90c82acc8aaf58eb2c9 100644
--- a/exec/irc.js
+++ b/exec/irc.js
@@ -1109,7 +1109,7 @@ function Screen_print_line(line)  {
 			codes.shift();
 			p2=codes[0];
 			codes.shift();
-			ending=","+codes.join(",");
+			ending=codes.join(",");
 			if(p2==undefined)  {
 				p2="-1";
 			}
@@ -1213,6 +1213,8 @@ function Screen_print_line(line)  {
 			return ret+ending;
 		}
 	);
+	// Empty color code means remove all color formatting
+	line=line.replace(/\x03/g,DEFAULT_COLOR);
 	if(line.length > 78)  {
 		// Word Wrap...
 		for(var j=0;j<=line.length;j++)  {
diff --git a/exec/load/irc-default.js b/exec/load/irc-default.js
index 7c916816988ddc23b56279ff9e2e661218eac25a..1b9bc62c0006ea178f04edebf6c0bdd5cec2a3b3 100644
--- a/exec/load/irc-default.js
+++ b/exec/load/irc-default.js
@@ -1,3 +1,4 @@
+var DEFAULT_COLOR=      "\x01N\x01W";
 var FROM_NICK_CURCHAN=	"\x01N\x01B<\x01N\x01W%s\x01N\x01B>\x01N\x01W";
 var FROM_NICK_OUTSIDE=	"\x01N\x01B<\x01N\x01W%s\x01N\x01B>\x01N\x01W";
 var JOIN_FORMAT=	"\x01N\x01C%s (%s) has joined %s";