summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--node/Multicaster.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/node/Multicaster.cpp b/node/Multicaster.cpp
index 1dfa67dd..e1d4567a 100644
--- a/node/Multicaster.cpp
+++ b/node/Multicaster.cpp
@@ -228,7 +228,9 @@ void Multicaster::send(
gs.lastExplicitGather = now;
SharedPtr<Peer> explicitGatherPeers[2];
explicitGatherPeers[0] = RR->topology->getBestRoot();
- explicitGatherPeers[1] = RR->topology->getPeer(Network::controllerFor(nwid));
+ const Address nwidc(Network::controllerFor(nwid));
+ if (nwidc != RR->identity.address())
+ explicitGatherPeers[1] = RR->topology->getPeer(nwidc);
for(unsigned int k=0;k<2;++k) {
const SharedPtr<Peer> &p = explicitGatherPeers[k];
if (!p)