diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b2c7751240f70e5490bfeb1c3e6e87dc298de430..4e1497de4d36e75fa5e51fa0c40beb2a56e8eb1a 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -9675,6 +9675,7 @@ static enum check_auth_result check_user_ok(struct sip_pvt *p, char *of,
 			p->noncodeccapability |= AST_RTP_DTMF;
 		else
 			p->noncodeccapability &= ~AST_RTP_DTMF;
+		p->jointnoncodeccapability = p->noncodeccapability;
 		if (p->t38.peercapability)
 			p->t38.jointcapability &= p->t38.peercapability;
 		p->maxcallbitrate = user->maxcallbitrate;
@@ -9811,6 +9812,7 @@ static enum check_auth_result check_peer_ok(struct sip_pvt *p, char *of,
 			p->noncodeccapability |= AST_RTP_DTMF;
 		else
 			p->noncodeccapability &= ~AST_RTP_DTMF;
+		p->jointnoncodeccapability = p->noncodeccapability;
 		if (p->t38.peercapability)
 			p->t38.jointcapability &= p->t38.peercapability;
 	}