diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+### 2.0.5
+
+* Drop system-filepath
+
 ### 2.0.4.1
 
 Fix build for GHC 7.10 [#151](https://github.com/yesodweb/shakespeare/pull/151)
diff --git a/Text/Hamlet.hs b/Text/Hamlet.hs
--- a/Text/Hamlet.hs
+++ b/Text/Hamlet.hs
@@ -72,9 +72,8 @@
 import Data.IORef
 import qualified Data.Map as M
 import System.IO.Unsafe (unsafePerformIO)
-import Filesystem (getModified)
+import System.Directory (getModificationTime)
 import Data.Time (UTCTime)
-import Filesystem.Path.CurrentOS (decodeString)
 import Text.Blaze.Html (preEscapedToHtml)
 
 -- | Convert some value to a list of attribute pairs.
@@ -529,7 +528,7 @@
               -> [(Deref, VarExp msg url)]
               -> Shakespeare url
 hamletRuntime settings fp cd render = unsafePerformIO $ do
-    mtime <- qRunIO $ getModified $ decodeString fp
+    mtime <- qRunIO $ getModificationTime fp
     mdata <- lookupReloadMap fp
     case mdata of
       Just (lastMtime, lastContents) ->
@@ -550,7 +549,7 @@
               -> RuntimeVars msg url
               -> HtmlUrlI18n msg url
 hamletRuntimeMsg settings fp cd i18nRender render = unsafePerformIO $ do
-    mtime <- qRunIO $ getModified $ decodeString fp
+    mtime <- qRunIO $ getModificationTime fp
     mdata <- lookupReloadMap fp
     case mdata of
       Just (lastMtime, lastContents) ->
diff --git a/Text/Julius.hs b/Text/Julius.hs
--- a/Text/Julius.hs
+++ b/Text/Julius.hs
@@ -8,7 +8,7 @@
 --
 -- You might consider trying 'Text.Typescript' or 'Text.Coffee' which compile down to Javascript.
 --
--- Further reading: <http://www.yesodweb.com/book/templates>
+-- Further reading: <http://www.yesodweb.com/book/shakespearean-templates>
 module Text.Julius
     ( -- * Functions
       -- ** Template-Reading Functions
diff --git a/Text/Shakespeare.hs b/Text/Shakespeare.hs
--- a/Text/Shakespeare.hs
+++ b/Text/Shakespeare.hs
@@ -51,8 +51,7 @@
 import qualified Data.Text.Lazy as TL
 import Text.Shakespeare.Base
 
-import Filesystem (getModified)
-import Filesystem.Path.CurrentOS (decodeString)
+import System.Directory (getModificationTime)
 import Data.Time (UTCTime)
 import Data.IORef
 import qualified Data.Map as M
@@ -466,7 +465,7 @@
 
 shakespeareRuntime :: ShakespeareSettings -> FilePath -> [(Deref, VarExp url)] -> Shakespeare url
 shakespeareRuntime settings fp cd render' = unsafePerformIO $ do
-    mtime <- qRunIO $ getModified $ decodeString fp
+    mtime <- qRunIO $ getModificationTime fp
     mdata <- lookupReloadMap fp
     case mdata of
       Just (lastMtime, lastContents) ->
diff --git a/shakespeare.cabal b/shakespeare.cabal
--- a/shakespeare.cabal
+++ b/shakespeare.cabal
@@ -1,5 +1,5 @@
 name:            shakespeare
-version:         2.0.4.1
+version:         2.0.5
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -36,8 +36,6 @@
 library
     build-depends:   base             >= 4       && < 5
                    , time             >= 1
-                   , system-filepath  >= 0.4
-                   , system-fileio    >= 0.3
                    , containers
                    , template-haskell
                    , parsec           >= 2       && < 4
@@ -45,7 +43,7 @@
                    , process          >= 1.0
                    , ghc-prim
                    , bytestring
-                   , directory
+                   , directory        >= 1.2
                    , aeson
                    , blaze-markup
                    , blaze-html
@@ -147,8 +145,6 @@
     build-depends: base             >= 4       && < 5
                  , shakespeare
                  , time             >= 1
-                 , system-filepath  >= 0.4
-                 , system-fileio    >= 0.3
                  , containers
                  , parsec           >= 2       && < 4
                  , hspec            == 2.*
