diff --git a/semantic_router/hybrid_layer.py b/semantic_router/hybrid_layer.py
index 4a9a368d77600fd8205e50e7f3aefbe2792bf7b9..9791786f5aeb622477d76d222c9c9c272e4e57bb 100644
--- a/semantic_router/hybrid_layer.py
+++ b/semantic_router/hybrid_layer.py
@@ -37,6 +37,8 @@ class HybridRouteLayer:
 
         self.alpha = alpha
         self.top_k = top_k
+        if self.top_k < 1:
+            raise ValueError(f"top_k needs to be >= 1, but was: {self.top_k}.")
         self.routes = routes
         if isinstance(self.sparse_encoder, TfidfEncoder) and hasattr(
             self.sparse_encoder, "fit"