diff -r a91789870ae2 src/modules/m_pingpong.c
--- a/src/modules/m_pingpong.c	Mon Jan 09 22:28:53 2012 -0600
+++ b/src/modules/m_pingpong.c	Sun Jan 22 02:57:26 2012 -0600
@@ -183,7 +183,7 @@
 		sendto_one(sptr, ":IRC!IRC@%s PRIVMSG %s :\1VERSION\1",
 			   me.name, sptr->name);
 
-	if (sptr->user && sptr->name[0])
+	if (sptr->user && sptr->name[0] && !CHECKPROTO(sptr, PROTO_CLICAP))
 		return register_user(cptr, sptr, sptr->name,
 		    sptr->user->username, NULL, NULL, NULL);
 	return 0;
diff -r a91789870ae2 src/modules/m_user.c
--- a/src/modules/m_user.c	Mon Jan 09 22:28:53 2012 -0600
+++ b/src/modules/m_user.c	Sun Jan 22 02:57:26 2012 -0600
@@ -203,10 +203,9 @@
 		strlcpy(user->svid, sstamp, sizeof(user->svid));
 
 	strlcpy(sptr->info, realname, sizeof(sptr->info));
-	if (sptr->name[0] && 
-	    (IsServer(cptr) ? 1 : IsNotSpoof(sptr)) &&
-	    (!MyConnect(sptr) || (MyConnect(sptr) && !CHECKPROTO(sptr, PROTO_CLICAP)))
-	   )
+	if (*sptr->name &&
+		(IsServer(cptr) || (IsNotSpoof(sptr) && !CHECKPROTO(sptr, PROTO_CLICAP)))
+           )
 		/* NICK and no-spoof already received, now we have USER... */
 	{
 		if (USE_BAN_VERSION && MyConnect(sptr))
