diff --git a/src/common/zeroconf/connection_zeroconf.py b/src/common/zeroconf/connection_zeroconf.py
index 07ff5db3f77010b93d435ee4ec9880ba04f93c4d..d16f471eacbed54b01c31bc95df28929843d04ae 100644
--- a/src/common/zeroconf/connection_zeroconf.py
+++ b/src/common/zeroconf/connection_zeroconf.py
@@ -296,6 +296,7 @@ class ConnectionZeroconf(CommonConnection, ConnectionHandlersZeroconf):
                 show=show))
         else:
             # show notification that avahi or system bus is down
+            self.connected = 0
             gajim.nec.push_incoming_event(OurShowEvent(None, conn=self,
                 show='offline'))
             self.status = 'offline'
diff --git a/src/common/zeroconf/zeroconf_avahi.py b/src/common/zeroconf/zeroconf_avahi.py
index e2a7c1fd4ffb1040d2990368b3c09bffab0940f4..716d2e5a05912a2d9e2a429b3ec062326b7f7588 100644
--- a/src/common/zeroconf/zeroconf_avahi.py
+++ b/src/common/zeroconf/zeroconf_avahi.py
@@ -277,9 +277,10 @@ class Zeroconf:
 
         state = self.server.GetState()
         if state == self.avahi.SERVER_RUNNING:
-            self.create_service()
-            self.announced = True
-            return True
+            if self.create_service():
+            	self.announced = True
+            	return True
+            return False
 
     def remove_announce(self):
         if self.announced == False: