if(!(chanuser->flags & CHANUSERFLAG_OPPED) && resync_op)
modeBufferOp(modeBuf, chanuser->user->nick);
} else if(caccess >= db_enfvoice) {
- if((chanuser->flags & CHANUSERFLAG_OPPED) && resync_op)
+ if((chanuser->flags & CHANUSERFLAG_OPPED) && resync_op && !(chanuser->user->flags & (USERFLAG_ISBOT | USERFLAG_ISIRCOP)))
modeBufferDeop(modeBuf, chanuser->user->nick);
if(!(chanuser->flags & CHANUSERFLAG_VOICED) && resync_voice)
modeBufferVoice(modeBuf, chanuser->user->nick);
} else {
- if((chanuser->flags & CHANUSERFLAG_OPPED) && resync_op)
+ if((chanuser->flags & CHANUSERFLAG_OPPED) && resync_op && !(chanuser->user->flags & (USERFLAG_ISBOT | USERFLAG_ISIRCOP)))
modeBufferDeop(modeBuf, chanuser->user->nick);
if((chanuser->flags & CHANUSERFLAG_VOICED) && resync_voice)
modeBufferDevoice(modeBuf, chanuser->user->nick);