diff --git a/client/devkit_client/__init__.py b/client/devkit_client/__init__.py
index e531d0fd64846448359dfa15fd8c03135d86e39b..0e8a780167a19fb2623da0f5ca90f942ef89d2b2 100644
--- a/client/devkit_client/__init__.py
+++ b/client/devkit_client/__init__.py
@@ -369,18 +369,13 @@ class MachineNameType(enum.Enum):
         return '<{}.{}>'.format(self.__class__.__name__, self.name)
 
 
-class ServiceListener(object):
-    def __init__(self, quiet=False):
-        self.r = zeroconf.Zeroconf()
+class ServiceListener:
+    def __init__(self, zc, quiet=False):
+        self.zc = zc
         self.devkits = {}
         self.devkit_events = queue.Queue()
         self.quiet = quiet
 
-    def __del__(self):
-        if self.r is not None:
-            self.r.close()
-            self.r = None
-
     def remove_service(self, zeroconf, type, name):
         # Called from the zeroconf thread
         assert type == STEAM_DEVKIT_TYPE, (name, type)
@@ -402,7 +397,7 @@ class ServiceListener(object):
         if (not self.quiet):
             logger.info("Service %r found", service_name)
         get_service_delay = time.perf_counter()
-        info = self.r.get_service_info(type, name, timeout=ZEROCONF_TIMEOUT)
+        info = self.zc.get_service_info(type, name, timeout=ZEROCONF_TIMEOUT)
         get_service_delay = time.perf_counter() - get_service_delay
         if not self.quiet:
             logger.debug(f'zeroconf.get_service_info delay: {get_service_delay:.1f}')
diff --git a/client/devkit_client/gui2/gui2.py b/client/devkit_client/gui2/gui2.py
index b92ccb6dcbc0b65fe58a810fcd6069afad464812..150f21a433863647fd15e1169b93066f9353acd0 100644
--- a/client/devkit_client/gui2/gui2.py
+++ b/client/devkit_client/gui2/gui2.py
@@ -1093,7 +1093,7 @@ class DevkitsWindow(ToolWindow):
     def setup(self):
         super(DevkitsWindow, self).setup()
         self.zc = zeroconf.Zeroconf()
-        self.zc_listener = devkit_client.ServiceListener(quiet=False)
+        self.zc_listener = devkit_client.ServiceListener(self.zc, quiet=False)
         zeroconf.ServiceBrowser(
             self.zc,
             devkit_client.STEAM_DEVKIT_TYPE,