diff --git a/src/fe-common/core/fe-channels.c b/src/fe-common/core/fe-channels.c
index fe41ea30..95829a35 100644
--- a/src/fe-common/core/fe-channels.c
+++ b/src/fe-common/core/fe-channels.c
@@ -437,7 +437,7 @@ static void display_sorted_nicks(CHANNEL_REC *channel, GSList *nicklist)
 		}
 	}
 
-	if (str->len != 0) {
+	if (str->len > strlen(prefix_format)) {
 		printtext(channel->server, channel->name,
 			  MSGLEVEL_CLIENTCRAP, "%s", str->str);
 	}
@@ -490,13 +490,13 @@ void fe_channels_nicklist(CHANNEL_REC *channel, int flags)
 	/* display the nicks */
         if ((flags & CHANNEL_NICKLIST_FLAG_COUNT) == 0) {
 		printformat(channel->server, channel->name,
-			    MSGLEVEL_CRAP, TXT_NAMES, channel->name, "");
+			    MSGLEVEL_CLIENTCRAP, TXT_NAMES, channel->name, nicks, ops, halfops, voices, normal);
 		display_sorted_nicks(channel, sorted);
 	}
 	g_slist_free(sorted);
 
 	printformat(channel->server, channel->name,
-		    MSGLEVEL_CRAP, TXT_ENDOFNAMES,
+		    MSGLEVEL_CLIENTCRAP, TXT_ENDOFNAMES,
 		    channel->name, nicks, ops, halfops, voices, normal);
 }
 
diff --git a/src/fe-common/core/module-formats.c b/src/fe-common/core/module-formats.c
index 3972ea8b..a11a94bb 100644
--- a/src/fe-common/core/module-formats.c
+++ b/src/fe-common/core/module-formats.c
@@ -107,7 +107,7 @@ FORMAT_REC fecommon_core_formats[] = {
 	{ "talking_in", "You are now talking in {channel $0}", 1, { 0 } },
 	{ "not_in_channels", "You are not on any channels", 0 },
 	{ "current_channel", "Current channel {channel $0}", 1, { 0 } },
-	{ "names", "{names_users Users {names_channel $0}} $1", 2, { 0, 0 } },
+	{ "names", "{names_users Users {names_channel $0}} $1", 6, { 0, 1, 1, 1, 1, 1 } },
 	{ "names_prefix", "{names_prefix $0}", 1, { 0 } },
         { "names_nick_op", "{names_nick_op $0 $1}", 2, { 0, 0 } },
         { "names_nick_halfop", "{names_nick_halfop $0 $1}", 2, { 0, 0 } },