diff --git a/daemon/src/sip/siptransport.cpp b/daemon/src/sip/siptransport.cpp
index eec152fe7a3cb2b5d15301331e2fe27c6c30ba33..e149283efa46b2bd44f1d8da18a32e3d6debc4ce 100644
--- a/daemon/src/sip/siptransport.cpp
+++ b/daemon/src/sip/siptransport.cpp
@@ -338,23 +338,22 @@ void SipTransport::createSipTransport(SIPAccount &account)
             account.transport_ = createUdpTransport(account.getLocalInterface(), account.getLocalPort());
         }
     } else {
-        account.transport_ = createUdpTransport(account.getLocalInterface(), account.getLocalPort());
-    }
-
-    if (!account.transport_) {
+        // if this transport already exists, reuse it
         std::string key(transportMapKey(account.getLocalInterface(), account.getLocalPort()));
-        DEBUG("Looking into previously created transport map for" " %s", key.c_str());
-        // Could not create new transport, this transport may already exists
         std::map<std::string, pjsip_transport *>::iterator iter = transportMap_.find(key);
 
         if (iter != transportMap_.end()) {
             account.transport_ = iter->second;
             pjsip_transport_add_ref(account.transport_);
-        } else if (account.isTlsEnabled()) {
+        } else
+            account.transport_ = createUdpTransport(account.getLocalInterface(), account.getLocalPort());
+    }
+
+    if (!account.transport_) {
+        if (account.isTlsEnabled())
             throw std::runtime_error("Could not create TLS connection");
-        } else {
+        else
             throw std::runtime_error("Could not create new UDP transport");
-        }
     }
 }