diff --git a/src/Cercanias/Route.php b/src/Cercanias/Route.php
index <HASH>..<HASH> 100644
--- a/src/Cercanias/Route.php
+++ b/src/Cercanias/Route.php
@@ -11,7 +11,7 @@ class Route
 
     public function __construct($slug)
     {
-        if (strlen($slug) <= 0) {
+        if (!is_string($slug) || strlen($slug) <= 0) {
             throw new InvalidArgumentException("Invalid slug");
         }
         $this->slug = $slug;
diff --git a/tests/Cercanias/Tests/RouteTest.php b/tests/Cercanias/Tests/RouteTest.php
index <HASH>..<HASH> 100644
--- a/tests/Cercanias/Tests/RouteTest.php
+++ b/tests/Cercanias/Tests/RouteTest.php
@@ -25,10 +25,19 @@ class RouteTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
+     * @dataProvider getInvalidSlugProvider
      * @expectedException \Cercanias\Exception\InvalidArgumentException
      */
-    public function testInvalidSlug()
+    public function testInvalidSlug($invalidSlug)
     {
-        new Route("");
+        new Route($invalidSlug);
+    }
+
+    public function getInvalidSlugProvider()
+    {
+        return array(
+            array(""),
+            array(123),
+        );
     }
 }
Slug must be a string.