diff --git a/daemons/ganeti-confd b/daemons/ganeti-confd
index 9743d2df89bf963c76d346dfc641cf13d67d2959..df026da41a67867db0215713ed1279b4428c603e 100755
--- a/daemons/ganeti-confd
+++ b/daemons/ganeti-confd
@@ -199,6 +199,8 @@ def ExecCONFD(options, args):
   """Main CONFD function, executed with pidfile held
 
   """
+  mainloop = daemon.Mainloop()
+
   # confd-level SimpleConfigReader
   reader = ssconf.SimpleConfigReader()
 
@@ -210,7 +212,8 @@ def ExecCONFD(options, args):
   wm = pyinotify.WatchManager()
   confd_event_handler = ConfdInotifyEventHandler(wm, reader)
   notifier = AsyncNotifier(wm, confd_event_handler)
-  asyncore.loop()
+
+  mainloop.Run()
 
 
 def main():