diff --git a/llama_index/response_synthesizers/base.py b/llama_index/response_synthesizers/base.py
index 884cc403b4890d4327ab8494281451c64ad6d01f..d38e33d72d873396ef931535d732cea55ed0dd8e 100644
--- a/llama_index/response_synthesizers/base.py
+++ b/llama_index/response_synthesizers/base.py
@@ -67,7 +67,13 @@ class BaseSynthesizer(ChainableMixin, PromptMixin):
 
     @callback_manager.setter
     def callback_manager(self, callback_manager: CallbackManager) -> None:
+        """Set callback manager."""
         self._callback_manager = callback_manager
+        # TODO: please fix this later
+        self._service_context.callback_manager = callback_manager
+        self._service_context.llm.callback_manager = callback_manager
+        self._service_context.embed_model.callback_manager = callback_manager
+        self._service_context.node_parser.callback_manager = callback_manager
 
     @abstractmethod
     def get_response(