diff --git a/SAS/ResourceAssignment/TaskPrescheduler/test/test_taskprescheduler.py b/SAS/ResourceAssignment/TaskPrescheduler/test/test_taskprescheduler.py
index 6f5710cd3ef3c8bc155704a0ed6a87f48ac0c8bf..85a39a65784f64161b79ef15d1fbf2f1539c05d8 100755
--- a/SAS/ResourceAssignment/TaskPrescheduler/test/test_taskprescheduler.py
+++ b/SAS/ResourceAssignment/TaskPrescheduler/test/test_taskprescheduler.py
@@ -174,10 +174,6 @@ class PreschedulerTest(unittest.TestCase):
         self.radbrpc_mock.getTask.return_value = task
         self.radbrpc_mock.getResourceGroupNames.return_value = [{'name':'CEP4'}]
 
-        logger_patcher = mock.patch('lofar.sas.resourceassignment.taskprescheduler.taskprescheduler.logger')
-        self.addCleanup(logger_patcher.stop)
-        self.logger_mock = logger_patcher.start()
-
         self.taskprescheduler = TestingTaskPrescheduler(self.otdbrpc_mock, self.momrpc_mock, self.radbrpc_mock)
 
     def assert_all_services_opened(self):
@@ -190,15 +186,15 @@ class PreschedulerTest(unittest.TestCase):
         self.assertTrue(self.momrpc_mock.close.called, "MOMRPC.close was not called")
         self.assertTrue(self.radbrpc_mock.close.called, "RADBRPC.close was not called")
 
-    @mock.patch("lofar.messaging.messagebus.AbstractBusListener.start_listening")
+    @mock.patch("lofar.messaging.messagebus.AbstractMessageHandler.start_handling")
     def test_open_opens_all_services(self, mock_super):
-        self.taskprescheduler.start_listening()
+        self.taskprescheduler.start_handling()
         self.assert_all_services_opened()
         self.assertTrue(mock_super.called)
 
-    @mock.patch("lofar.messaging.messagebus.AbstractBusListener.stop_listening")
+    @mock.patch("lofar.messaging.messagebus.AbstractMessageHandler.stop_handling")
     def test_close_closes_all_services(self, mock_super):
-        self.taskprescheduler.stop_listening()
+        self.taskprescheduler.stop_handling()
         self.assert_all_services_closed()
         self.assertTrue(mock_super.called)
 
@@ -214,42 +210,48 @@ class PreschedulerTest(unittest.TestCase):
         otdb_info = cobaltOTDBsettings(self.test_cobalt_settings)
         self.assertEqual(otdb_info, self.otdb_info)
 
-    def test_onObservationApproved_log_mom_id_found(self):
+    @mock.patch('lofar.sas.resourceassignment.common.specification.logger')
+    def test_onObservationApproved_log_mom_id_found(self, logger_mock):
         self.taskprescheduler.onObservationApproved(self.otdb_id, self.modification_time)
-        self.logger_mock.info.assert_any_call('Found mom_id %s for otdb_id %s', self.mom_id, self.otdb_id)
+        logger_mock.info.assert_any_call('Found mom_id %s for otdb_id %s', self.mom_id, self.otdb_id)
 
-    def test_onObservationApproved_log_mom_id_not_found(self):
+    @mock.patch('lofar.sas.resourceassignment.common.specification.logger')
+    def test_onObservationApproved_log_mom_id_not_found(self, logger_mock):
         observation_specification_tree_no_momid = self.observation_specification_tree
         observation_specification_tree_no_momid['ObsSW.Observation.momID'] = ''
         self.otdbrpc_mock.taskGetSpecification.return_value = {'otdb_id': self.otdb_id,
                                                                'specification': observation_specification_tree_no_momid}
         self.taskprescheduler.onObservationApproved(self.otdb_id, self.modification_time)
-        self.logger_mock.info.assert_any_call('Did not find a mom_id for task otdb_id=%s', self.otdb_id)
+        logger_mock.info.assert_any_call('Did not find a mom_id for task otdb_id=%s', self.otdb_id)
 
-    def test_onObservationApproved_otdb_specification_problem(self):
+    @mock.patch('lofar.sas.resourceassignment.common.specification.logger')
+    def test_onObservationApproved_otdb_specification_problem(self, logger_mock):
         self.otdbrpc_mock.taskGetSpecification.return_value = {'otdb_id': 0, 'specification': ''}
         self.taskprescheduler.onObservationApproved(self.otdb_id, self.modification_time)
-        self.logger_mock.exception.assert_called()
-        self.logger_mock.error.assert_called()
+        logger_mock.exception.assert_called()
+        logger_mock.error.assert_called()
         # TODO not sure how to fix self.radbrpc_mock.updateTaskStatusForOtdbId.assert_any_call(self.otdb_id, 'error')
 
-    def test_onObservationApproved_log_trigger_found_0(self):
+    @mock.patch('lofar.sas.resourceassignment.common.specification.logger')
+    def test_onObservationApproved_log_trigger_found_0(self, logger_mock):
         self.taskprescheduler.onObservationApproved(self.otdb_id, self.modification_time)
-        self.logger_mock.info.assert_any_call('Found a task mom_id=%s with a trigger_id=%s', self.mom_id, self.trigger_id)
+        logger_mock.info.assert_any_call('Found a task mom_id=%s with a trigger_id=%s', self.mom_id, self.trigger_id)
 
-    def test_onObservationApproved_log_no_trigger(self):
+    @mock.patch('lofar.sas.resourceassignment.taskprescheduler.taskprescheduler.logger')
+    def test_onObservationApproved_log_no_trigger(self, logger_mock):
         self.momrpc_mock.get_trigger_time_restrictions.return_value = {"trigger_id": None}
         self.taskprescheduler.onObservationApproved(self.otdb_id, self.modification_time)
-        self.logger_mock.info.assert_any_call('Did not find a trigger for task mom_id=%s', self.mom_id)
+        logger_mock.info.assert_any_call('Did not find a trigger for task mom_id=%s', self.mom_id)
 
     def test_onObservationApproved_no_trigger(self):
         self.momrpc_mock.get_trigger_time_restrictions.return_value = {"trigger_id": None}
         self.taskprescheduler.onObservationApproved(self.otdb_id, self.modification_time)
         self.otdbrpc_mock.taskSetStatus.assert_not_called()
 
-    def test_onObservationApproved_log_trigger_found_1(self):
+    @mock.patch('lofar.sas.resourceassignment.taskprescheduler.taskprescheduler.logger')
+    def test_onObservationApproved_log_trigger_found_1(self, logger_mock):
         self.taskprescheduler.onObservationApproved(self.otdb_id, self.modification_time)
-        self.logger_mock.info.assert_any_call('Setting status (%s) for otdb_id %s', 'prescheduled', self.otdb_id)
+        logger_mock.info.assert_any_call('Setting status (%s) for otdb_id %s', 'prescheduled', self.otdb_id)
 
     def test_onObservationApproved_SetSpecification(self):
         self.taskprescheduler.onObservationApproved(self.otdb_id, self.modification_time)
@@ -287,14 +289,14 @@ class PreschedulerTest(unittest.TestCase):
         self.otdbrpc_mock.taskSetStatus.assert_any_call(self.otdb_id, 'prescheduled')
 
     def test_calculateCobaltSettings(self):
-        spec = Specification(self.logger_mock, self.otdbrpc_mock, self.momrpc_mock, self.radbrpc_mock)
+        spec = Specification(self.otdbrpc_mock, self.momrpc_mock, self.radbrpc_mock)
         spec.internal_dict = self.test_specification
         cobalt_settings = calculateCobaltSettings(spec)
         self.assertEqual(cobalt_settings, self.test_cobalt_settings)
 
     @mock.patch("lofar.common.util.waitForInterrupt")
-    @mock.patch("lofar.sas.resourceassignment.taskprescheduler.taskprescheduler.TaskPrescheduler")
-    def test_main(self, mock_wait, mock_prescheduler):
+    @mock.patch("lofar.messaging.messagebus.BusListener.start_listening")
+    def test_main(self, mock_wait, mock_otdbbuslistener):
         PreschedulerMain()
         mock_wait.assert_called()