diff --git a/src/ska_tango_base/base/component_manager.py b/src/ska_tango_base/base/component_manager.py
index 819470860fc1f0c345c3f5e1c749ee2c7c080deb..b730b4ceddc45cbb80b5227cbfd575c2501ce6d7 100644
--- a/src/ska_tango_base/base/component_manager.py
+++ b/src/ska_tango_base/base/component_manager.py
@@ -54,7 +54,7 @@ class BaseComponentManager:
             manager
         """
         self.op_state_model = op_state_model
-        self.queue_manager = self.create_queue_manager()
+        self._queue_manager = self.create_queue_manager()
 
     def start_communicating(self):
         """
@@ -126,7 +126,7 @@ class BaseComponentManager:
 
         :return: tasks in the device queue
         """
-        return self.queue_manager.tasks_in_queue
+        return self._queue_manager.tasks_in_queue
 
     @property
     def task_ids_in_queue(self):
@@ -135,7 +135,7 @@ class BaseComponentManager:
 
         :return: unique ids for the enqueued commands
         """
-        return self.queue_manager.task_ids_in_queue
+        return self._queue_manager.task_ids_in_queue
 
     @property
     def task_status(self):
@@ -144,7 +144,7 @@ class BaseComponentManager:
 
         :return: ID, status pairs of the currently executing commands
         """
-        return self.queue_manager.task_status
+        return self._queue_manager.task_status
 
     @property
     def task_progress(self):
@@ -153,7 +153,7 @@ class BaseComponentManager:
 
         :return: ID, progress of the currently executing command.
         """
-        return self.queue_manager.task_progress
+        return self._queue_manager.task_progress
 
     @property
     def task_result(self):
@@ -162,7 +162,7 @@ class BaseComponentManager:
 
         :return: ID, ResultCode, result.
         """
-        return list(self.queue_manager.task_result)
+        return list(self._queue_manager.task_result)
 
     def off(self):
         """Turn the component off."""
@@ -232,12 +232,12 @@ class BaseComponentManager:
         :return: The unique ID of the queued command and the ResultCode
         :rtype: tuple
         """
-        return self.queue_manager.enqueue_task(task, argin=argin)
+        return self._queue_manager.enqueue_task(task, argin=argin)
 
     def abort_tasks(self) -> None:
         """Start aborting tasks on the queue."""
-        self.queue_manager.abort_tasks()
+        self._queue_manager.abort_tasks()
 
     def get_task_state(self, unique_id: str) -> TaskState:
         """Attempt to get state of QueueTask."""
-        return self.queue_manager.get_task_state(unique_id)
+        return self._queue_manager.get_task_state(unique_id)
diff --git a/tests/long_running_tasks/test_task_queue_manager.py b/tests/long_running_tasks/test_task_queue_manager.py
index ab32b961b5383901355a08d153a8889d2182a6cc..f20b0e56df428ff6591fb4c31d8e4d26e692b659 100644
--- a/tests/long_running_tasks/test_task_queue_manager.py
+++ b/tests/long_running_tasks/test_task_queue_manager.py
@@ -411,14 +411,14 @@ class TestQueueManagerExit:
         while not cm.task_status:
             time.sleep(0.1)
         # Start aborting
-        cm.queue_manager.abort_tasks()
+        cm._queue_manager.abort_tasks()
 
         # Wait for the exit
         while not cm.task_result:
             time.sleep(0.1)
         # aborting state should be cleaned up since the queue is empty and
         # nothing is in progress
-        while cm.queue_manager.is_aborting:
+        while cm._queue_manager.is_aborting:
             time.sleep(0.1)
 
         # When aborting this should be rejected
@@ -426,11 +426,11 @@ class TestQueueManagerExit:
         cm.enqueue(slow_task())
         cm.enqueue(slow_task())
 
-        assert not cm.queue_manager.is_aborting
+        assert not cm._queue_manager.is_aborting
         # Abort tasks
-        cm.queue_manager.abort_tasks()
+        cm._queue_manager.abort_tasks()
 
-        assert cm.queue_manager.is_aborting
+        assert cm._queue_manager.is_aborting
 
         # Load up some tasks that should be aborted
         cm.enqueue(slow_task())
@@ -443,8 +443,8 @@ class TestQueueManagerExit:
             time.sleep(0.1)
 
         # Resume the commands
-        cm.queue_manager.resume_tasks()
-        assert not cm.queue_manager.is_aborting
+        cm._queue_manager.resume_tasks()
+        assert not cm._queue_manager.is_aborting
 
         # Wait for my slow command to finish
         unique_id, _ = cm.enqueue(slow_task())
@@ -473,13 +473,13 @@ class TestQueueManagerExit:
             time.sleep(0.1)
 
         # Stop all threads
-        cm.queue_manager.stop_tasks()
+        cm._queue_manager.stop_tasks()
         # Wait for the exit
         while not cm.task_result:
             time.sleep(0.5)
 
         # Wait for all the workers to stop
-        while any([worker.is_alive() for worker in cm.queue_manager._threads]):
+        while any([worker.is_alive() for worker in cm._queue_manager._threads]):
             time.sleep(0.1)
 
     @pytest.mark.forked
@@ -504,7 +504,7 @@ class TestQueueManagerExit:
         cm.enqueue(stop_task())
         cm.enqueue(abort_task())
 
-        del cm.queue_manager
+        del cm._queue_manager
         del cm