diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 8f76e9cc31c3aba13b454cec934bd2cf65252b11..f0d4de53d6188caafccb7e098e94949a42ec66fb 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -13332,7 +13332,7 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int
 		}
 
 		/* Finally our remaining audio/video codecs */
-		for (x = 0; x < ast_format_cap_count(p->caps); x++) {
+		for (x = 0; ast_test_flag(&p->flags[0], SIP_OUTGOING) && x < ast_format_cap_count(p->caps); x++) {
 			tmp_fmt = ast_format_cap_get_format(p->caps, x);
 
 			if (ast_format_cap_iscompatible_format(alreadysent, tmp_fmt) != AST_FORMAT_CMP_NOT_EQUAL) {