diff --git a/channels/chan_features.c b/channels/chan_features.c index 5fa1b03a63..3126688042 100755 --- a/channels/chan_features.c +++ b/channels/chan_features.c @@ -142,7 +142,10 @@ static void swap_subs(struct feature_pvt *p, int a, int b) } if (p->subs[b].owner) { for (x=0;xsubs[b].owner->fds[x] = p->subchan->fds[x]; + if (b) + p->subs[b].owner->fds[x] = -1; + else + p->subs[b].owner->fds[x] = p->subchan->fds[x]; } wakeup_sub(p, a); wakeup_sub(p, b);