diff --git a/libs/core/langchain_core/tracers/langchain.py b/libs/core/langchain_core/tracers/langchain.py
index 8a14ce1fc6e..84c5f5b4a1b 100644
--- a/libs/core/langchain_core/tracers/langchain.py
+++ b/libs/core/langchain_core/tracers/langchain.py
@@ -72,6 +72,19 @@ def _run_to_dict(run: Run, exclude_inputs: bool = False) -> dict:
     # run.model_dump
     with warnings.catch_warnings():
         warnings.simplefilter("ignore", category=PydanticDeprecationWarning)
+        if (
+            run.outputs
+            and run.outputs.get("generations")
+            and isinstance(run.outputs["generations"], list)
+            and run.outputs["generations"]
+            and isinstance(run.outputs["generations"][0], list)
+            and run.outputs["generations"][0]
+            and isinstance(run.outputs["generations"][0][0], dict)
+            and "text" in run.outputs["generations"][0][0]
+            and "message" in run.outputs["generations"][0][0]
+        ):
+            # Drop redundant text contents from trace
+            run.outputs["generations"][0][0]["text"] = None
 
         res = {
             **run.dict(exclude={"child_runs", "inputs", "outputs"}),