if ((*err = can_join(source_p, chptr, key, &next)) == 0)
return chptr;
- /* User is +Q */
- if (IsNoForward(source_p))
+ /* User is +Q, or forwarding disabled */
+ if (IsNoForward(source_p) || !ConfigChannel.use_forward)
return NULL;
while (depth < 16)