diff --git a/llama-index-core/llama_index/core/evaluation/base.py b/llama-index-core/llama_index/core/evaluation/base.py
index d95ae277277254176efc18f44df6c9d70d3bddf5..8be36063b8a41f35d26244adfe9be6a0ff4c2c80 100644
--- a/llama-index-core/llama_index/core/evaluation/base.py
+++ b/llama-index-core/llama_index/core/evaluation/base.py
@@ -95,8 +95,14 @@ class BaseEvaluator(PromptMixin):
         Subclasses can override this method to provide custom evaluation logic and
         take in additional arguments.
         """
-        return asyncio.run(
-            self.aevaluate_response(query=query, response=response, **kwargs)
+        response_str: Optional[str] = None
+        contexts: Optional[Sequence[str]] = None
+        if response is not None:
+            response_str = response.response
+            contexts = [node.get_content() for node in response.source_nodes]
+
+        return self.evaluate(
+            query=query, response=response_str, contexts=contexts, **kwargs
         )
 
     async def aevaluate_response(