diff -ruN -x configure -x *~ -x ircd-hybrid-6rc5.orig -x *.rej ircd-hybrid-6rc5.orig/include/channel.h ircd-hybrid-6rc5/include/channel.h
--- ircd-hybrid-6rc5.orig/include/channel.h	Fri Nov  3 23:30:27 2000
+++ ircd-hybrid-6rc5/include/channel.h	Fri Nov  3 23:28:37 2000
@@ -213,7 +213,7 @@
 #define IsMember(blah,chan) ((blah && blah->user && \
                 find_channel_link((blah->user)->channel, chan)) ? 1 : 0)
 
-#define IsChannelName(name) ((name) && (*(name) == '#' || *(name) == '&'))
+#define IsChannelName(name) ((name) && (*(name) == '#'))
 
 #ifdef BAN_INFO
 /*
diff -ruN -x configure -x *~ -x ircd-hybrid-6rc5.orig -x *.rej ircd-hybrid-6rc5.orig/src/channel.c ircd-hybrid-6rc5/src/channel.c
--- ircd-hybrid-6rc5.orig/src/channel.c	Fri Nov  3 23:30:27 2000
+++ ircd-hybrid-6rc5/src/channel.c	Fri Nov  3 23:29:23 2000
@@ -2480,7 +2476,7 @@
                          */
 
 #if defined(PRESERVE_CHANNEL_ON_SPLIT) || defined(NO_JOIN_ON_SPLIT)
-      if(server_was_split && (chptr->chname[0] != '&'))
+      if(server_was_split)
         {
           /*
            * Now, find all invite links from channel structure
@@ -2991,8 +2987,6 @@
                        me.name, parv[0], (unsigned char*) name);
           continue;
         }
-      if (*name == '&' && !MyConnect(sptr))
-        continue;
       if (*name == '0' && !atoi(name))
         *jbuf = '\0';
       else if (!IsChannelName(name))
@@ -3005,8 +2999,7 @@
 
 
 #ifdef NO_JOIN_ON_SPLIT_SIMPLE
-      if (server_was_split && MyClient(sptr) && (*name != '&') &&
-          !IsAnOper(sptr))
+      if (server_was_split && MyClient(sptr) && !IsAnOper(sptr))
         {
               sendto_one(sptr, form_str(ERR_UNAVAILRESOURCE),
                          me.name, parv[0], name);
@@ -3022,8 +3015,7 @@
        * cold_start is set to NO if SPLITDELAY is set to 0 in m_set()
        */
 
-      if(cold_start && MyClient(sptr) && (*name != '&') &&
-         !IsAnOper(sptr))
+      if(cold_start && MyClient(sptr) && !IsAnOper(sptr))
         {
               sendto_one(sptr, form_str(ERR_UNAVAILRESOURCE),
                          me.name, parv[0], name);
@@ -3125,7 +3117,7 @@
             */
 
 #ifdef NO_CHANOPS_WHEN_SPLIT
-          if((*name != '&') && !IsAnOper(sptr) && server_was_split)
+          if(!IsAnOper(sptr) && server_was_split)
             {
               allow_op = NO;
 
@@ -3190,7 +3182,7 @@
         }
 
 #if defined(NO_JOIN_ON_SPLIT)
-      if(server_was_split && (*name != '&'))
+      if(server_was_split)
         {
           if( chptr )   /* The channel existed, so I can't join it */
             {
@@ -3914,13 +3906,6 @@
       return 0;
     }
 
-  /* Do not send local channel invites to users if they are not on the
-   * same server as the person sending the INVITE message. 
-   */
-  /* Possibly should be an error sent to sptr */
-  if (!MyConnect(acptr) && (parv[2][0] == '&'))
-    return 0;
-
   if (!(chptr = hash_find_channel(parv[2], NullChn)))
     {
       if (MyClient(sptr))
@@ -4262,8 +4247,6 @@
   for (lp = user->user->channel; lp; lp = lp->next)
     {
       chptr = lp->value.chptr;
-      if (*chptr->chname == '&')
-        continue;
       if ((mask = strchr(chptr->chname, ':')))
         if (!match(++mask, cptr->name))
           continue;
@@ -4347,13 +4330,6 @@
      { 
        return 0;
      }
-
-  /* comstud server did this, SJOIN's for
-   * local channels can't happen.
-   */
-
-  if(*parv[2] == '&')
-    return 0;
 
   newts = atol(parv[1]);
   memset(&mode, 0, sizeof(mode));
diff -ruN -x configure -x *~ -x ircd-hybrid-6rc5.orig -x *.rej ircd-hybrid-6rc5.orig/src/match.c ircd-hybrid-6rc5/src/match.c
--- ircd-hybrid-6rc5.orig/src/match.c	Thu Sep 14 06:22:02 2000
+++ ircd-hybrid-6rc5/src/match.c	Sun Oct 29 16:25:47 2000
@@ -366,7 +366,7 @@
 /* # */      PRINT_C|CHANPFX_C|CHAN_C|NONEOS_C,
 /* $ */      PRINT_C|CHAN_C|NONEOS_C|USER_C,
 /* % */      PRINT_C|CHAN_C|NONEOS_C,
-/* & */      PRINT_C|CHANPFX_C|CHAN_C|NONEOS_C,
+/* & */      PRINT_C|CHAN_C|NONEOS_C,
 /* ' */      PRINT_C|CHAN_C|NONEOS_C,
 /* ( */      PRINT_C|CHAN_C|NONEOS_C,
 /* ) */      PRINT_C|CHAN_C|NONEOS_C,
diff -ruN -x configure -x *~ -x ircd-hybrid-6rc5.orig -x *.rej ircd-hybrid-6rc5.orig/src/send.c ircd-hybrid-6rc5/src/send.c
--- ircd-hybrid-6rc5.orig/src/send.c	Fri Nov  3 23:30:22 2000
+++ ircd-hybrid-6rc5/src/send.c	Fri Nov  3 23:23:55 2000
@@ -802,12 +802,6 @@
   
   va_start(args, pattern);
 
-  if (chptr)
-    {
-      if (*chptr->chname == '&')
-        return;
-    }
-
   for(cptr = serv_cptr_list; cptr; cptr = cptr->next_server_client)
     {
       if (cptr == from)
@@ -835,12 +829,6 @@
   register aClient *cptr;
 
   va_start(args, pattern);
-
-  if (chptr)
-    {
-      if (*chptr->chname == '&')
-        return;
-    }
 
   for(cptr = serv_cptr_list; cptr; cptr = cptr->next_server_client)
     {
diff -ruN -x configure -x *~ -x ircd-hybrid-6rc5.orig -x *.rej ircd-hybrid-6rc5.orig/src/test/parsetest.c ircd-hybrid-6rc5/src/test/parsetest.c
--- ircd-hybrid-6rc5.orig/src/test/parsetest.c	Fri Oct  6 04:01:00 2000
+++ ircd-hybrid-6rc5/src/test/parsetest.c	Sun Oct 29 16:25:47 2000
@@ -488,7 +488,7 @@
 /* # */      PRINT_C|CHANPFX_C|CHAN_C|NONEOS_C,
 /* $ */      PRINT_C|CHAN_C|NONEOS_C|USER_C,
 /* % */      PRINT_C|CHAN_C|NONEOS_C,
-/* & */      PRINT_C|CHANPFX_C|CHAN_C|NONEOS_C,
+/* & */      PRINT_C|CHAN_C|NONEOS_C,
 /* ' */      PRINT_C|CHAN_C|NONEOS_C,
 /* ( */      PRINT_C|CHAN_C|NONEOS_C,
 /* ) */      PRINT_C|CHAN_C|NONEOS_C,
diff -ruN -x configure -x *~ -x ircd-hybrid-6rc5.orig -x *.rej ircd-hybrid-6rc5.orig/src/test/testattr.c ircd-hybrid-6rc5/src/test/testattr.c
--- ircd-hybrid-6rc5.orig/src/test/testattr.c	Fri Oct  6 04:01:01 2000
+++ ircd-hybrid-6rc5/src/test/testattr.c	Sun Oct 29 16:25:47 2000
@@ -50,7 +50,7 @@
 /* # */      PRINT_C|CHANPFX_C|CHAN_C,
 /* $ */      PRINT_C|CHAN_C,
 /* % */      PRINT_C|CHAN_C,
-/* & */      PRINT_C|CHANPFX_C|CHAN_C,
+/* & */      PRINT_C|CHAN_C,
 /* ' */      PRINT_C|CHAN_C,
 /* ( */      PRINT_C|CHAN_C,
 /* ) */      PRINT_C|CHAN_C,
