diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index cb76b2212307f2da9c385a9bc17c3efc6e07af95..b21a820459a244a27e6473802c667572aa4d2c1f 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -13593,7 +13593,8 @@ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, stru
 			} 
 
 			/* Save Record-Route for any later requests we make on this dialogue */
-			build_route(p, req, 1);
+			if (!reinvite)
+				build_route(p, req, 1);
 		}
 		
 		if (p->owner && (p->owner->_state == AST_STATE_UP) && (bridgepeer = ast_bridged_channel(p->owner))) { /* if this is a re-invite */