diff --git a/SAS/TriggerServices/lib/trigger_service.py b/SAS/TriggerServices/lib/trigger_service.py
index 20494437fe704317f4789eddac4dcda959aba04a..3a4b65b045a8829eacabc50b7eb589c84e85a4ce 100644
--- a/SAS/TriggerServices/lib/trigger_service.py
+++ b/SAS/TriggerServices/lib/trigger_service.py
@@ -60,9 +60,6 @@ validationrpc = ValidationRPC.create(exchange=DEFAULT_BUSNAME, broker=DEFAULT_BR
 specificationrpc = SpecificationRPC.create(exchange=DEFAULT_BUSNAME, broker=DEFAULT_BROKER)
 translationrpc = TranslationRPC.create(exchange=DEFAULT_BUSNAME, broker=DEFAULT_BROKER)
 
-notification_bus = ToBus(exchange=DEFAULT_BUSNAME, broker=DEFAULT_BROKER)
-
-
 def _auth_allows_triggers(project):
     response = momqueryrpc.allows_triggers(project)
     return response['allows']
@@ -121,7 +118,8 @@ def _send_notification(user, host, project, trigger_id, metadata):
                   "metadata": metadata
         }
         msg = EventMessage(subject=DEFAULT_TRIGGER_NOTIFICATION_SUBJECT, content=content)
-        notification_bus.send(msg)
+        with ToBus(exchange=DEFAULT_BUSNAME, broker=DEFAULT_BROKER) as notification_bus:
+            notification_bus.send(msg)
     except Exception as err:
         logger.error("Could not send notification ->" + str(err))
 
@@ -139,8 +137,6 @@ class TriggerServiceMessageHandler(ServiceMessageHandler):
         # handle QPID messages
         super(TriggerServiceMessageHandler, self).__init__()
 
-        notification_bus.open()
-
         self.service2MethodMap = {
             'handle_trigger': self.handle_trigger,
             }
diff --git a/SAS/TriggerServices/test/t_trigger_service.py b/SAS/TriggerServices/test/t_trigger_service.py
index 6fc83bb19965f640c751edaad699d89d4ce8ee2d..ad314bb2950e15dcf3ac72b0df83cd140a2b3e61 100644
--- a/SAS/TriggerServices/test/t_trigger_service.py
+++ b/SAS/TriggerServices/test/t_trigger_service.py
@@ -46,8 +46,7 @@ class TestTriggerHandler(unittest.TestCase):
         with open(TRIGGER_PATH) as f:
             cls.trigger_xml = f.read()
 
-        with mock.patch('lofar.triggerservices.trigger_service.notification_bus'):
-            cls.handler = TriggerServiceMessageHandler()
+        cls.handler = TriggerServiceMessageHandler()
 
     def setUp(self):
         logging.info('-----------------')
@@ -116,13 +115,16 @@ class TestALERTHandler(unittest.TestCase):
             cls.voevent_xml = f.read()
             cls.voevent_etree = etree.fromstring(cls.voevent_xml)
 
-        with mock.patch('lofar.triggerservices.trigger_service.notification_bus'):
-            cls.handler = ALERTHandler()
+        cls.handler = ALERTHandler()
 
     def setUp(self):
         logging.info('-----------------')
         logging.info('Setup test %s' % self._testMethodName)
 
+        popen_patcher = mock.patch('lofar.common.subprocess_utils.Popen')
+        self.addCleanup(popen_patcher.stop)
+        popen_patcher.start()
+
     def test_valid_voevent_should_invoke_tbb_dump(self):
         with mock.patch('lofar.mac.tbbservice.client.tbbservice_rpc.TBBRPC.do_tbb_subband_dump') as dump, \
              mock.patch('lofar.triggerservices.voevent_decider.ALERTDecider') as sciencecheck: