Index: source/ariba/Makefile.am
===================================================================
--- source/ariba/Makefile.am	(revision 4840)
+++ source/ariba/Makefile.am	(revision 4841)
@@ -334,5 +334,5 @@
   utility/bootstrap/BootstrapManager.cpp \
   utility/bootstrap/modules/BootstrapModule.cpp \
-  utility/bootstrap/modules/multicastdns/MulticastDns.cpp
+  utility/bootstrap/modules/multicastdns/MulticastDns.cpp \
   utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.cpp
   
@@ -341,5 +341,5 @@
   utility/bootstrap/BootstrapInformationCallback.h \
   utility/bootstrap/modules/BootstrapModule.h \
-  utility/bootstrap/modules/multicastdns/MulticastDns.h
+  utility/bootstrap/modules/multicastdns/MulticastDns.h \
   utility/bootstrap/modules/bluetoothsdp/BluetoothSdp.h
 
Index: source/ariba/utility/bootstrap/modules/multicastdns/MulticastDns.cpp
===================================================================
--- source/ariba/utility/bootstrap/modules/multicastdns/MulticastDns.cpp	(revision 4840)
+++ source/ariba/utility/bootstrap/modules/multicastdns/MulticastDns.cpp	(revision 4841)
@@ -88,5 +88,6 @@
 			(AvahiClientFlags)0, MulticastDns::client_callback, this, &error );
 	if( avahiclient == NULL){
-		logging_error("creating avahi client failed");
+		logging_error("creating avahi client failed with error "
+				<< error << ". make sure that the avahi-daemon is running. e.g. by installing avahi-utils);
 		return;
 	}
@@ -138,8 +139,10 @@
 	//
 
-	avahi_client_free( avahiclient );
+	if(avahiclient != NULL)
+		avahi_client_free( avahiclient );
 	avahiclient = NULL;
 
-	avahi_threaded_poll_free( avahipoll );
+	if(avahipoll != NULL)
+		avahi_threaded_poll_free( avahipoll );
 	avahipoll = NULL;
 
@@ -156,8 +159,10 @@
 	}
 
+	if( avahiclient == NULL ){
+		logging_error("avahi client is invalid");
+		return;
+	}
 
 	avahi_threaded_poll_lock(avahipoll);
-	assert( avahiclient != NULL );
-
 	int ret = 0;
 
