diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 502ca60da8ea396b5a3e232a74c3dadda9e0b9e9..82780e0272c021977f9c32f5bd0116392786c908 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -2753,7 +2753,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req)
 				&vpeercapability, &vpeernoncodeccapability);
 	p->jointcapability = p->capability & (peercapability | vpeercapability);
 	p->peercapability = (peercapability | vpeercapability);
-	p->noncodeccapability = noncodeccapability & p->peercapability;
+	p->noncodeccapability = noncodeccapability & peernoncodeccapability;
 	
 	if (debug) {
 		const unsigned slen=80;