diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index d01a3c26b148b7b6633d88ded3229d655f938b6d..6cb781e0d61d62c2e9f7f50824bbe0405cd22b6c 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -4617,8 +4617,8 @@ static void change_t38_state(struct sip_pvt *p, int state)
 	if (message)
 		ast_queue_control_data(chan, AST_CONTROL_T38, &message, sizeof(message));
 
-	if (ast_test_flag(&p->flags[1], SIP_PAGE2_FAX_DETECT)) {
-		/* fax detection is enabled */
+	if (ast_test_flag(&p->flags[1], SIP_PAGE2_FAX_DETECT) && !p->outgoing_call) {
+		/* fax detection is enabled and this is an incoming call */
 		ast_channel_lock(chan);
 		if (strcmp(chan->exten, "fax") && state == T38_ENABLED) {
 			const char *target_context = S_OR(chan->macrocontext, chan->context);