diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index b86df391e2bdc1355ffc7ff9bb86d6aec11cd8ac..9399a9ae624d029b88e7ef4101d638774f288125 100755
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -1810,7 +1810,7 @@ static int transmit_response(struct mgcp_subchannel *sub, char *msg, struct mgcp
 		memcpy(mgr->buf, resp.data, resp.len);
 		mgr->buf[resp.len] = '\0';
 		mgr->next = p->parent->responses;
-		p->parent->responses = mgr->next;
+		p->parent->responses = mgr;
 	}
 	return send_response(sub, &resp);
 }