diff --git a/Yesod/Test.hs b/Yesod/Test.hs
--- a/Yesod/Test.hs
+++ b/Yesod/Test.hs
@@ -504,7 +504,7 @@
     let (urlPath, urlQuery) = T.break (== '?') url
     ST.modify $ \rbd -> rbd
         { rbdPath =
-            case DL.filter (/="") $ T.split (== '/') urlPath of
+            case DL.filter (/="") $ H.decodePathSegments $ TE.encodeUtf8 urlPath of
                 ("http:":_:rest) -> rest
                 ("https:":_:rest) -> rest
                 x -> x
diff --git a/test/main.hs b/test/main.hs
--- a/test/main.hs
+++ b/test/main.hs
@@ -113,6 +113,11 @@
                 get ("/dynamic1/שלום" :: Text)
                 statusIs 200
                 bodyEquals "שלום"
+            yit "from path, type-safe URL" $ do
+                get $ LiteAppRoute ["dynamic1", "שלום"]
+                statusIs 200
+                printBody
+                bodyEquals "שלום"
             yit "from WAI" $ do
                 get ("/dynamic2/שלום" :: Text)
                 statusIs 200
diff --git a/yesod-test.cabal b/yesod-test.cabal
--- a/yesod-test.cabal
+++ b/yesod-test.cabal
@@ -1,5 +1,5 @@
 name:               yesod-test
-version:            1.2.1.3
+version:            1.2.1.4
 license:            MIT
 license-file:       LICENSE
 author:             Nubis <nubis@woobiz.com.ar>
