- if (!pd->is_notice && cf->func && GetUserMode(cn, cf->service))
- cf->func(pd->user, cn, pd->text+1, cf->service);
+ if (!pd->is_notice && cf->func
+ && ((cn->modes & MODE_REGISTERED) || GetUserMode(cn, cf->service)))
+ cf->func(pd->user, cn, pd->text+1, cf->service);