Index: source/ariba/overlay/OverlayBootstrap.cpp
===================================================================
--- source/ariba/overlay/OverlayBootstrap.cpp	(revision 5945)
+++ source/ariba/overlay/OverlayBootstrap.cpp	(revision 5953)
@@ -175,6 +175,23 @@
 	}
 
+	// TODO: --> SIGCOMM hack <--
+	// if we have no overlay neighbors, make sure sdp is loaded
+	// sdp searching is turned off when we have bootstrapped
+	if(overlay->getOverlayNeighbors().size() > 0){
+
+		// switch off sdp when we we _are_ in the spovnet already
+		if(manager.isModuleRegistered(BootstrapManager::BootstrapTypeBluetoothSdp))
+			manager.unregisterModule(BootstrapManager::BootstrapTypeBluetoothSdp);
+
+		return;
+	}
+
+	// make sure sdp is running when we are _not_ in the spovnet
+	if(!manager.isModuleRegistered(BootstrapManager::BootstrapTypeBluetoothSdp))
+		manager.registerModule(BootstrapManager::BootstrapTypeBluetoothSdp);
+
+	//
 	// we have overlay neighbors -> ok
-	if(overlay->getOverlayNeighbors().size() > 0) return;
+	//
 
 	logging_info("overlay not joined, checking for earlier used bootstrap information");
Index: source/ariba/utility/bootstrap/BootstrapManager.cpp
===================================================================
--- source/ariba/utility/bootstrap/BootstrapManager.cpp	(revision 5945)
+++ source/ariba/utility/bootstrap/BootstrapManager.cpp	(revision 5953)
@@ -97,4 +97,11 @@
 }
 
+bool BootstrapManager::isModuleRegistered(BootstrapType type){
+	boost::mutex::scoped_lock lock( modulesMutex );
+
+	ModuleMap::iterator i = modules.find(type);
+	return  (i != modules.end());
+}
+
 BootstrapManager::RegistrationResult BootstrapManager::unregisterModule(
 		BootstrapManager::BootstrapType type){
Index: source/ariba/utility/bootstrap/BootstrapManager.h
===================================================================
--- source/ariba/utility/bootstrap/BootstrapManager.h	(revision 5945)
+++ source/ariba/utility/bootstrap/BootstrapManager.h	(revision 5953)
@@ -88,4 +88,5 @@
 	RegistrationResult unregisterAllModules();
 	RegistrationResult unregisterModule(BootstrapType type);
+	bool isModuleRegistered(BootstrapType type);
 
 	void registerCallback(BootstrapInformationCallback* _callback);
Index: source/ariba/utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.cpp
===================================================================
--- source/ariba/utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.cpp	(revision 5945)
+++ source/ariba/utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.cpp	(revision 5953)
@@ -258,5 +258,5 @@
 	//
 
-	if(!haveConnections()){
+	//if(!haveConnections()){
 
 		/*
@@ -304,9 +304,9 @@
 		close(sock);
 
-	} else {
-		logging_debug("have active rfcomm connectinos, not searching");
-	}
-
-	int nextscan = (rand() % 30) + 5;
+	//} else {
+		//logging_debug("have active rfcomm connections, not searching");
+	//}
+
+	int nextscan = (rand() % 5) + 3;
 	logging_debug("next sdp scan try in " << nextscan << " seconds");
 
