diff --git a/libsofia-sip-ua/nta/nta.c b/libsofia-sip-ua/nta/nta.c
index b1c53a6e..4a791f19 100644
--- a/libsofia-sip-ua/nta/nta.c
+++ b/libsofia-sip-ua/nta/nta.c
@@ -6535,14 +6535,8 @@ static int nta_incoming_response_headers(nta_incoming_t *irq,
     clone = 1, sip->sip_call_id = sip_call_id_copy(home, irq->irq_call_id);
   if (!sip->sip_cseq)
     clone = 1, sip->sip_cseq = sip_cseq_copy(home, irq->irq_cseq);
-  if (!sip->sip_via) {
-    clone = 1;
-    /* 100 responses are not forwarded by proxies, so only include the topmost Via header */
-    if (sip->sip_status && sip->sip_status->st_status == 100)
-      sip->sip_via = (sip_via_t *)msg_header_copy_one(home, (msg_header_t const *)irq->irq_via);
-    else
-      sip->sip_via = sip_via_copy(home, irq->irq_via);
-  }
+  if (!sip->sip_via) 
+    clone = 1, sip->sip_via = sip_via_copy(home, irq->irq_via);
 
   if (clone)
     msg_set_parent(msg, (msg_t *)irq->irq_home);