diff --git a/swarm/environment/prompt/common.py b/swarm/environment/prompt/common.py
index 0453dab120d5bd43a4dcdd37305de7e9c7f2b5d5..dbfe2caf4a4063870f1205ad22befdfc46b6af83 100644
--- a/swarm/environment/prompt/common.py
+++ b/swarm/environment/prompt/common.py
@@ -8,6 +8,10 @@ def get_combine_materials(materials: Dict[str, Any], avoid_vague=True) -> str:
     for key, value in materials.items():
         if "No useful information from WebSearch" in value:
             continue
+        if isinstance(value, list):
+            value = "\n".join(value)
+        if not (isinstance(value, str) and isinstance(key, str)):
+            continue
         value = value.strip("\n").strip()
         if key != 'task' and value:
             question += f"\n\nReference information for {key}:" + \