diff --git a/src/ringdht/ringaccount.cpp b/src/ringdht/ringaccount.cpp
index a8fd85bb95cf78837f2ff7880e70567c8491213d..91146e9ae3c291de892e7d4da245a1f9ae6e6acf 100644
--- a/src/ringdht/ringaccount.cpp
+++ b/src/ringdht/ringaccount.cpp
@@ -3380,16 +3380,15 @@ RingAccount::registerDhtAddress(IceTransport& ice)
         // We need a public address in case of NAT'ed network
         // Trying to use one discovered by DHT service
 
-        // IPv4
-        const auto& addr4 = dht_.getPublicAddress(AF_INET);
-        if (addr4.size())
-            setPublishedAddress(reg_addr(ice, addr4[0].first));
-
-        // IPv6 (must be put after IPv4 as SDP support only one address, we priorize IPv6)
+        // IPv6 (sdp support only one IP, put IPv6 before IPv4 as this last has the priority over IPv6 less NAT'able)
         const auto& addr6 = dht_.getPublicAddress(AF_INET6);
         if (addr6.size())
             setPublishedAddress(reg_addr(ice, addr6[0].first));
 
+        // IPv4
+        const auto& addr4 = dht_.getPublicAddress(AF_INET);
+        if (addr4.size())
+            setPublishedAddress(reg_addr(ice, addr4[0].first));
     } else {
         reg_addr(ice, ip);
     }