diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b02d0a7e1e4ebbb01b80bb24a5d45e18b8e35447..2d4ab866aab2a48b9602945e695e149e34fd3775 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -6113,8 +6113,9 @@ static int add_t38_sdp(struct sip_request *resp, struct sip_pvt *p)
 	ast_build_string(&a_modem_next, &a_modem_left, "a=T38FaxMaxDatagram:%d\r\n",x);
 	if (p->t38.jointcapability != T38FAX_UDP_EC_NONE)
 		ast_build_string(&a_modem_next, &a_modem_left, "a=T38FaxUdpEC:%s\r\n", (p->t38.jointcapability & T38FAX_UDP_EC_REDUNDANCY) ? "t38UDPRedundancy" : "t38UDPFEC");
+	len = strlen(v) + strlen(s) + strlen(o) + strlen(c) + strlen(t);
 	if (p->udptl)
-		len = strlen(m_modem) + strlen(a_modem);
+		len += strlen(m_modem) + strlen(a_modem);
 	add_header(resp, "Content-Type", "application/sdp");
 	add_header_contentLength(resp, len);
 	add_line(resp, v);