diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index d7676b3598dfb8bfcfaa6b0cd09051cd232aa80a..f5ea1ff341b15a0d4206bee0bb983ee89fa0370c 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -8678,7 +8678,10 @@ static struct zt_pvt *chandup(struct zt_pvt *src)
 	}
 	p->destroy = 1;
 	p->next = iflist;
+	p->prev = NULL;
 	iflist = p;
+	if (iflist->next)
+		iflist->next->prev = p;
 	return p;
 }