diff --git a/src/dhtrunner.cpp b/src/dhtrunner.cpp
index 3812043c3fd83a81a03f259f331e9899805dee96..d0a1bf853e24b392165c9a17818c6e246c00477d 100644
--- a/src/dhtrunner.cpp
+++ b/src/dhtrunner.cpp
@@ -152,12 +152,12 @@ DhtRunner::run(const SockAddr& local4, const SockAddr& local6, const DhtRunner::
     if (config.peer_discovery or config.peer_publish) {
         try {
             peerDiscovery4_.reset(new PeerDiscovery(AF_INET, port_multicast));
-        }catch(std::exception &exception){
+        } catch(std::exception &exception){
             perror(exception.what());
         }
         try{
             peerDiscovery6_.reset(new PeerDiscovery(AF_INET6, port_multicast));
-        }catch(std::exception &exception){
+        } catch(std::exception &exception){
             perror(exception.what());
         }
     }
@@ -645,7 +645,7 @@ DhtRunner::startNetwork(const SockAddr sin4, const SockAddr sin6)
                     else
                         continue;
 
-                    if (rc > 0 && rc != static_cast<int>(getNodeId().size() + 2)) {
+                    if (rc > 0) {
                         {
                             std::lock_guard<std::mutex> lck(sock_mtx);
                             if (rcv.size() >= RX_QUEUE_MAX_SIZE) {
diff --git a/tests/peerdiscoverytester.cpp b/tests/peerdiscoverytester.cpp
index 85c164e9162db58f05136e107c9f5d37aed03c2e..9c41c593e2ab28fdca834adabb595811d1c4309c 100644
--- a/tests/peerdiscoverytester.cpp
+++ b/tests/peerdiscoverytester.cpp
@@ -31,22 +31,29 @@ void PeerDiscoveryTester::testTransmission_ipv4(){
     dht::InfoHash data_n = dht::InfoHash::get("applepin");
     int port = 2222;
     in_port_t port_n = 50000;
-
-    dht::PeerDiscovery test_n(AF_INET, port);
-    dht::PeerDiscovery test_s(AF_INET, port);
-
-    test_s.startDiscovery([&](const dht::InfoHash& node, const dht::SockAddr& addr){
-        CPPUNIT_ASSERT_EQUAL(data_n, node);
-        CPPUNIT_ASSERT_EQUAL(port_n, addr.getPort());
-    });
-
-    test_n.startPublish(data_n, port_n);
-
-    sleep(5);
-    test_n.stop();
-    test_s.stop();
-    test_n.join();
-    test_s.join();
+    try{
+        dht::PeerDiscovery test_n(AF_INET, port);
+        dht::PeerDiscovery test_s(AF_INET, port);
+        try{
+            test_s.startDiscovery([&](const dht::InfoHash& node, const dht::SockAddr& addr){
+                CPPUNIT_ASSERT_EQUAL(data_n, node);
+                CPPUNIT_ASSERT_EQUAL(port_n, addr.getPort());
+            });
+
+            test_n.startPublish(data_n,port_n);
+
+            sleep(5);
+            test_n.stop();
+            test_s.stop();
+            test_n.join();
+            test_s.join();
+        } catch(std::exception &exception){
+            perror(exception.what());
+            CPPUNIT_ASSERT(false);
+        }
+    } catch(std::exception &exception){
+            perror(exception.what());
+    }
 }
 
 void PeerDiscoveryTester::testTransmission_ipv6(){
@@ -55,22 +62,30 @@ void PeerDiscoveryTester::testTransmission_ipv6(){
     dht::InfoHash data_n = dht::InfoHash::get("applepin");
     int port = 3333;
     in_port_t port_n = 50001;
-
-    dht::PeerDiscovery test_n(AF_INET6,port);
-    dht::PeerDiscovery test_s(AF_INET6,port);
-
-    test_s.startDiscovery([&](const dht::InfoHash& node, const dht::SockAddr& addr){
-        CPPUNIT_ASSERT_EQUAL(data_n, node);
-        CPPUNIT_ASSERT_EQUAL(port_n, addr.getPort());
-    });
-
-    test_n.startPublish(data_n,port_n);
-
-    sleep(5);
-    test_n.stop();
-    test_s.stop();
-    test_n.join();
-    test_s.join();
+    try{
+        dht::PeerDiscovery test_n(AF_INET6,port);
+        dht::PeerDiscovery test_s(AF_INET6,port);
+
+        try{
+            test_s.startDiscovery([&](const dht::InfoHash& node, const dht::SockAddr& addr){
+                CPPUNIT_ASSERT_EQUAL(data_n, node);
+                CPPUNIT_ASSERT_EQUAL(port_n, addr.getPort());
+            });
+
+            test_n.startPublish(data_n,port_n);
+
+            sleep(5);
+            test_n.stop();
+            test_s.stop();
+            test_n.join();
+            test_s.join();
+        } catch(std::exception &exception){
+            perror(exception.what());
+            CPPUNIT_ASSERT(false);
+        }
+    } catch(std::exception &exception){
+            perror(exception.what());
+    }
 
 }