Index: Unreal3.2.orig/src/extbans.c
===================================================================
--- Unreal3.2.orig.orig/src/extbans.c
+++ Unreal3.2.orig/src/extbans.c
@@ -322,6 +322,27 @@ char *ban = banin+3;
 	return 0;
 }
 
+/** Account bans - conv_param */
+char *extban_modea_conv_param(char *para)
+{
+char *mask;
+static char retbuf[NICKLEN + 8];
+
+	strlcpy(retbuf, para, sizeof(retbuf));
+	mask = retbuf+3;
+	if (strlen(mask) > NICKLEN + 3)
+		mask[NICKLEN + 3] = '\0';
+	return retbuf;
+}
+
+int extban_modea_is_banned(aClient *sptr, aChannel *chptr, char *banin, int type)
+{
+char *ban = banin+3;
+	if (!stricmp(ban, sptr->user->svid))
+		return 1;
+	return 0;
+}
+
 void extban_init(void)
 {
 	ExtbanInfo req;
@@ -352,6 +373,12 @@ void extban_init(void)
 	req.options = EXTBOPT_CHSVSMODE;
 	ExtbanAdd(NULL, req);
 
+	memset(&req, 0, sizeof(ExtbanInfo));
+	req.flag = 'a';
+	req.conv_param = extban_modea_conv_param;
+	req.is_banned = extban_modea_is_banned;
+	ExtbanAdd(NULL, req);
+
 	/* When adding new extbans, be sure to always add a prior memset like above
 	 * so you don't "inherit" old options (we are 2005 and the 20 nanoseconds
 	 * per-boot/rehash is NOT EXACTLY a problem....) -- Syzop.
