Index: /trunk/src/VBox/Main/src-server/darwin/HostDnsServiceDarwin.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/darwin/HostDnsServiceDarwin.cpp	(revision 78032)
+++ /trunk/src/VBox/Main/src-server/darwin/HostDnsServiceDarwin.cpp	(revision 78033)
@@ -91,6 +91,4 @@
     AssertReturn(m->m_SourceStop, E_FAIL);
 
-    CFRunLoopAddSource(m->m_RunLoopRef, m->m_SourceStop, kCFRunLoopCommonModes);
-
     HRESULT hrc = HostDnsServiceBase::init(pProxy);
     return hrc;
@@ -101,11 +99,7 @@
     HostDnsServiceBase::uninit();
 
-    CFRunLoopRemoveSource(m->m_RunLoopRef, m->m_SourceStop, kCFRunLoopCommonModes);
     CFRelease(m->m_SourceStop);
-
     CFRelease(m->m_RunLoopRef);
-
     CFRelease(m->m_DnsWatcher);
-
     CFRelease(m->m_store);
 
@@ -134,4 +128,6 @@
 
     CFRetain(m->m_RunLoopRef);
+
+    CFRunLoopAddSource(m->m_RunLoopRef, m->m_SourceStop, kCFRunLoopCommonModes);
 
     CFArrayRef watchingArrayRef = CFArrayCreate(NULL,
@@ -159,4 +155,6 @@
         CFRunLoopRun();
     }
+
+    CFRunLoopRemoveSource(m->m_RunLoopRef, m->m_SourceStop, kCFRunLoopCommonModes);
 
     /* We're notifying stopper thread. */
