diff --git a/channels/chan_sip.c b/channels/chan_sip.c index d6b7cdfacc..9d3d5de10b 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -11672,8 +11672,8 @@ static enum check_auth_result check_peer_ok(struct sip_pvt *p, char *of, /* First find device on name */ peer = find_peer(of, NULL, TRUE, FALSE); - /* Then find device on IP (if it's not a SUBSCRIBE) */ - if (sipmethod != SIP_SUBSCRIBE) + /* If not found, then find device on IP (if it's not a SUBSCRIBE) */ + if (!peer && sipmethod != SIP_SUBSCRIBE) find_peer(NULL, &p->recv, TRUE, FALSE); if (!peer) {