diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp
index dd2d87fa77c65963d3b1231d0b22c3729bf978b5..9f2aa5e023f9d83f3bc1aa0aa3acb1c34a816a1f 100644
--- a/daemon/src/sip/sipvoiplink.cpp
+++ b/daemon/src/sip/sipvoiplink.cpp
@@ -285,17 +285,6 @@ void SIPVoIPLink::sendRegister (Account *a)
 
     createSipTransport(account);
 
-	if (!account->transport) {
-		// Could not create new transport, this transport may already exists
-		account->transport = transportMap_[account->getLocalPort()];
-		if (account->transport) {
-			pjsip_transport_add_ref(account->transport);
-		} else {
-			account->transport = _localUDPTransport;
-			account->setLocalPort(_localUDPTransport->local_name.port);
-		}
-	}
-
 	account->setRegister(true);
 	account->setRegistrationState (Trying);
 
@@ -1059,6 +1048,17 @@ void SIPVoIPLink::createSipTransport (SIPAccount *account)
 		createStunTransport(account);
     else
     	createUdpTransport(account);
+
+	if (!account->transport) {
+		// Could not create new transport, this transport may already exists
+		account->transport = transportMap_[account->getLocalPort()];
+		if (account->transport) {
+			pjsip_transport_add_ref(account->transport);
+		} else {
+			account->transport = _localUDPTransport;
+			account->setLocalPort(_localUDPTransport->local_name.port);
+		}
+	}
 }
 
 void SIPVoIPLink::createUdpTransport (SIPAccount *account)
@@ -1102,7 +1102,6 @@ void SIPVoIPLink::createUdpTransport (SIPAccount *account)
 
     if (account->transport)
     	transportMap_[account->getLocalPort()] = account->transport;
-
 }
 
 pjsip_tpselector *SIPVoIPLink::initTransportSelector (pjsip_transport *transport, pj_pool_t *tp_pool)