diff --git a/semantic_router/layer.py b/semantic_router/layer.py
index 153d0607016af1e95d1c460d149e6316122a403a..46abe83dff1854b4bfad69d17cacf00282efffe3 100644
--- a/semantic_router/layer.py
+++ b/semantic_router/layer.py
@@ -98,7 +98,7 @@ class LayerConfig:
             routes = []
             for route_data in layer["routes"]:
                 # Handle the 'llm' field specially if it exists
-                if "llm" in route_data:
+                if "llm" in route_data and route_data["llm"] is not None:
                     llm_data = route_data.pop(
                         "llm"
                     )  # Remove 'llm' from route_data and handle it separately