diff --git a/src/dispatcher.cc b/src/dispatcher.cc
index 6beb7c3..f4cf57d 100644
--- a/src/dispatcher.cc
+++ b/src/dispatcher.cc
@@ -125,13 +125,46 @@
 }
 
 void
-Dispatcher::Did_LocalPrefix_Updated (const Ccnx::Name &prefix)
+Dispatcher::Did_LocalPrefix_Updated (const Ccnx::Name &forwardingHint)
 {
-  Name oldLocalPrefix = m_syncLog->LookupLocalLocator ();
-  _LOG_DEBUG ("LocalPrefix changed from: " << oldLocalPrefix << " to: " << prefix);
+  Name effectiveForwardingHint;
+  if (m_localUserName.size () >= forwardingHint.size () &&
+      m_localUserName.getPartialName (0, forwardingHint.size ()) == forwardingHint)
+    {
+      effectiveForwardingHint = Name ("/"); // "directly" accesible
+    }
+  else
+    {
+      effectiveForwardingHint = forwardingHint;
+    }
 
-  m_server->registerPrefix(prefix);
-  m_syncLog->UpdateLocalLocator (prefix);
+  Name oldLocalPrefix = m_syncLog->LookupLocalLocator ();
+
+  if (oldLocalPrefix == effectiveForwardingHint)
+    {
+      _LOG_DEBUG ("Got notification about prefix change from " << oldLocalPrefix << " to: " << forwardingHint << ", but effective prefix didn't change");
+      return;
+    }
+
+  if (effectiveForwardingHint == Name ("/") ||
+      effectiveForwardingHint == Name (BROADCAST_DOMAIN))
+    {
+      _LOG_DEBUG ("Basic effective prefix [" << effectiveForwardingHint << "]. Updating local prefix, but don't reregister");
+      m_syncLog->UpdateLocalLocator (effectiveForwardingHint);
+      return;
+    }
+
+  _LOG_DEBUG ("LocalPrefix changed from: " << oldLocalPrefix << " to: " << effectiveForwardingHint);
+
+  m_server->registerPrefix(effectiveForwardingHint);
+  m_syncLog->UpdateLocalLocator (effectiveForwardingHint);
+
+  if (oldLocalPrefix == Name ("/") ||
+      oldLocalPrefix == Name (BROADCAST_DOMAIN))
+    {
+      _LOG_DEBUG ("Don't deregister basic prefix: " << oldLocalPrefix);
+      return;
+    }
   m_server->deregisterPrefix(oldLocalPrefix);
 }
 
diff --git a/src/sync-log.cc b/src/sync-log.cc
index 5bd5703..47b1adf 100644
--- a/src/sync-log.cc
+++ b/src/sync-log.cc
@@ -369,15 +369,7 @@
 void
 SyncLog::UpdateLocalLocator (const Ccnx::Name &forwardingHint)
 {
-  if (m_localName.size () >= forwardingHint.size () &&
-      m_localName.getPartialName (0, forwardingHint.size ()) == forwardingHint)
-    {
-      return UpdateLocator (m_localName, Name ("/")); // "directly" accesible
-    }
-  else
-    {
-      return UpdateLocator (m_localName, forwardingHint);
-    }
+  return UpdateLocator (m_localName, forwardingHint);
 }
 
 SyncStateMsgPtr
