diff -ru asterisk-11/channels/chan_mgcp.c asterisk-11.fix_ASTERISK-24500/channels/chan_mgcp.c --- asterisk-11/channels/chan_mgcp.c 2014-11-05 16:48:56.497785808 +0100 +++ asterisk-11.fix_ASTERISK-24500/channels/chan_mgcp.c 2014-11-06 16:48:15.192269975 +0100 @@ -1808,17 +1808,12 @@ /* not dynamic, check if the name matches */ } else if (name) { if (strcasecmp(g->name, at)) { - g = g->next; continue; } /* not dynamic, no name, check if the addr matches */ } else if (!name && sin) { if ((g->addr.sin_addr.s_addr != sin->sin_addr.s_addr) || (g->addr.sin_port != sin->sin_port)) { - if(!g->next) - g = find_realtime_gw(name, at, sin); - else - g = g->next; continue; } } else {