diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index f87697f46a270972a656ad5946c59f0800f9a46f..4373a182177bfe66cf2aacbc1645bd758c3acabe 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -2724,17 +2724,16 @@ static inline const char *get_transport_list(struct sip_peer *peer) {
 			return "TCP";
 		case SIP_TRANSPORT_TLS:
 			return "TLS";
+		case SIP_TRANSPORT_UDP | SIP_TRANSPORT_TCP:
+			return "TCP,UDP";
+		case SIP_TRANSPORT_UDP | SIP_TRANSPORT_TLS:
+			return "TLS,UDP";
+		case SIP_TRANSPORT_TCP | SIP_TRANSPORT_TLS:
+			return "TLS,TCP";
+		default:
+			return peer->transports ? 
+				"TLS,TCP,UDP" : "UNKNOWN";	
 	}
-
-	if (peer->transports & (SIP_TRANSPORT_TLS | SIP_TRANSPORT_TCP))
-		return "TLS,TCP";
-	if (peer->transports & (SIP_TRANSPORT_TLS | SIP_TRANSPORT_UDP))
-		return "TLS,UDP";
-	if (peer->transports & (SIP_TRANSPORT_UDP | SIP_TRANSPORT_TCP))
-		return "TCP,UDP";
-
-	return peer->transports ? 
-		"TLS,TCP,UDP" : "UNKNOWN";
 }
 
 static inline const char *get_transport(enum sip_transport t)