--- src/modules/m_kick.c.orig	2006-06-16 14:29:16.000000000 -0400
+++ src/modules/m_kick.c	2006-07-28 01:08:20.702851394 -0400
@@ -175,7 +175,7 @@ CMD_FUNC(m_kick)
 					}
 				}
 
-				if (chptr->mode.mode & MODE_NOKICKS)
+				if (chptr->mode.mode & MODE_NOKICKS && MyClient(sptr))
 				{
 					if (!op_can_override(sptr))
 					{
@@ -183,12 +183,17 @@ CMD_FUNC(m_kick)
 							   me.name, sptr->name, "KICK",
 							   "channel is +Q");
 						goto deny;
+					} else {
+						sendto_snomask(SNO_EYES,
+						    "*** OperOverride -- %s (%s@%s) KICK %s %s (%s)",
+						    sptr->name, sptr->user->username, sptr->user->realhost,
+						    chptr->chname, who->name, comment);
+						sendto_serv_butone_token(NULL, me.name, MSG_SENDSNO, TOK_SENDSNO, 
+						    "e :*** OperOverride -- %s (%s@%s) KICK %s %s (%s)",
+						    sptr->name, sptr->user->username, sptr->user->realhost,
+						    chptr->chname, who->name, comment);
+						goto attack; /* No reason to continue.. */
 					}
-					sendto_snomask(SNO_EYES,
-						"*** OperOverride -- %s (%s@%s) KICK %s %s (%s)",
-						sptr->name, sptr->user->username, sptr->user->realhost,
-						chptr->chname, who->name, comment);
-					goto attack; /* No reason to continue.. */
 				}
 				/* Store "who" access flags */
 				who_flags = get_access(who, chptr);
@@ -196,7 +201,7 @@ CMD_FUNC(m_kick)
 				 * we are +h but victim is +o, OR...
 				 * we are +h and victim is +h
 				 */
-				if (op_can_override(sptr))
+				if (MyClient(sptr) && op_can_override(sptr))
 				{
 					if ((!(sptr_flags & CHFL_ISOP) && !(sptr_flags & CHFL_HALFOP)) ||
 					    ((sptr_flags & CHFL_HALFOP) && (who_flags & CHFL_ISOP)) ||
@@ -206,6 +211,10 @@ CMD_FUNC(m_kick)
 						    "*** OperOverride -- %s (%s@%s) KICK %s %s (%s)",
 						    sptr->name, sptr->user->username, sptr->user->realhost,
 						    chptr->chname, who->name, comment);
+						sendto_serv_butone_token(NULL, me.name, MSG_SENDSNO, TOK_SENDSNO, 
+						    "e :*** OperOverride -- %s (%s@%s) KICK %s %s (%s)",
+						    sptr->name, sptr->user->username, sptr->user->realhost,
+						    chptr->chname, who->name, comment);
 
 						/* Logging Implementation added by XeRXeS */
 						ircd_log(LOG_OVERRIDE,"OVERRIDE: %s (%s@%s) KICK %s %s (%s)",
@@ -225,6 +234,10 @@ CMD_FUNC(m_kick)
 						    "*** OperOverride -- %s (%s@%s) KICK %s %s (%s)",
 						    sptr->name, sptr->user->username, sptr->user->realhost,
 						    chptr->chname, who->name, comment);
+						sendto_serv_butone_token(NULL, me.name, MSG_SENDSNO, TOK_SENDSNO, 
+						    "e :*** OperOverride -- %s (%s@%s) KICK %s %s (%s)",
+						    sptr->name, sptr->user->username, sptr->user->realhost,
+						    chptr->chname, who->name, comment);
 
 						/* Logging Implementation added by XeRXeS */
 						ircd_log(LOG_OVERRIDE,"OVERRIDE: %s (%s@%s) KICK %s %s (%s)",
