diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 5bbdf4e2fd1e1704ab20b2582ee87ee2e4cc7ff0..c2625fc60a01db571a7f6694dda5b240a5185a8f 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -26757,6 +26757,7 @@ static int sip_msg_send(const struct ast_msg *msg, const char *to, const char *f
 		ast_string_field_set(pvt, username, to_user);
 	}
 	ast_sip_ouraddrfor(&pvt->sa, &pvt->ourip, pvt);
+	build_via(pvt);
 	ast_set_flag(&pvt->flags[0], SIP_OUTGOING);
 
 	/* XXX Does pvt->expiry need to be set? */