diff --git a/WaiAppStatic/Storage/Filesystem.hs b/WaiAppStatic/Storage/Filesystem.hs
--- a/WaiAppStatic/Storage/Filesystem.hs
+++ b/WaiAppStatic/Storage/Filesystem.hs
@@ -23,7 +23,7 @@
 import qualified Network.Wai as W
 import WaiAppStatic.Listing
 import Network.Mime
-import System.PosixCompat.Files (fileSize, getFileStatus, modificationTime)
+import System.PosixCompat.Files (fileSize, getFileStatus, modificationTime, isRegularFile)
 import Data.Maybe (catMaybes)
 import qualified Crypto.Conduit
 import Data.Serialize (encode)
@@ -89,13 +89,14 @@
     efs <- try $ getFileStatus $ F.encodeString fp
     case efs of
         Left (_ :: SomeException) -> return Nothing
-        Right fs -> return $ Just File
+        Right fs | isRegularFile fs -> return $ Just File
             { fileGetSize = fromIntegral $ fileSize fs
             , fileToResponse = \s h -> W.ResponseFile s h (F.encodeString fp) Nothing
             , fileName = name
             , fileGetHash = hashFunc fp
             , fileGetModified = Just $ modificationTime fs
             }
+        Right _ -> return Nothing
 
 -- | How to calculate etags. Can perform filesystem reads on each call, or use
 -- some caching mechanism.
diff --git a/wai-app-static.cabal b/wai-app-static.cabal
--- a/wai-app-static.cabal
+++ b/wai-app-static.cabal
@@ -1,5 +1,5 @@
 name:            wai-app-static
-version:         1.3.0.2
+version:         1.3.0.3
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
