diff --git a/System/FilePath/Internal.hs b/System/FilePath/Internal.hs
--- a/System/FilePath/Internal.hs
+++ b/System/FilePath/Internal.hs
@@ -488,10 +488,12 @@
 -- > dropTrailingPathSeparator "file/test/" == "file/test"
 -- > not (hasTrailingPathSeparator (dropTrailingPathSeparator x)) || isDrive x
 -- > Posix:    dropTrailingPathSeparator "/" == "/"
+-- > Windows:  dropTrailingPathSeparator "\\" == "\\"
 dropTrailingPathSeparator :: FilePath -> FilePath
 dropTrailingPathSeparator x =
     if hasTrailingPathSeparator x && not (isDrive x)
-    then reverse $ dropWhile isPathSeparator $ reverse x
+    then let x' = reverse $ dropWhile isPathSeparator $ reverse x
+         in if null x' then [pathSeparator] else x'
     else x
 
 
diff --git a/filepath.cabal b/filepath.cabal
--- a/filepath.cabal
+++ b/filepath.cabal
@@ -1,5 +1,5 @@
 Name:           filepath
-Version:        1.1.0.1
+Version:        1.1.0.2
 License:        BSD3
 license-file:   LICENSE
 Author:         Neil Mitchell
