diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,12 @@
 # Changelog for system-fileio
 
+## 0.3.16.6
+
+* Fix building on Windows ([issue #31](https://github.com/fpco/haskell-filesystem/issues/31), regression in 0.3.16.5).
+* Tested with:
+  - Cabal and GHC 8.0 - 9.12.0 on Linux
+  - Stack and GHC 9.8.2 on Linux, macOS and Windows.
+
 ## 0.3.16.5
 
 * Fix building of the testsuite with `unix-2.8`.
diff --git a/lib/Filesystem.hs b/lib/Filesystem.hs
--- a/lib/Filesystem.hs
+++ b/lib/Filesystem.hs
@@ -710,20 +710,17 @@
   info <- withHANDLE path Win32.getFileInformationByHandle
   let ftime = Win32.bhfiLastWriteTime info
   stime <- Win32.fileTimeToSystemTime ftime
-
-  let date = fromGregorian
-    (fromIntegral (Win32.wYear stime))
-    (fromIntegral (Win32.wMonth stime))
-    (fromIntegral (Win32.wDay stime))
-
-  let seconds = secondsToDiffTime $
-    (toInteger (Win32.wHour stime) * 3600) +
-    (toInteger (Win32.wMinute stime) * 60) +
-    (toInteger (Win32.wSecond stime))
-
-  let msecs = picosecondsToDiffTime $
-    (toInteger (Win32.wMilliseconds stime) * 1000000000)
-
+  let
+    date = fromGregorian
+      (fromIntegral (Win32.wYear stime))
+      (fromIntegral (Win32.wMonth stime))
+      (fromIntegral (Win32.wDay stime))
+    seconds = secondsToDiffTime $
+      (toInteger (Win32.wHour stime) * 3600) +
+      (toInteger (Win32.wMinute stime) * 60) +
+      (toInteger (Win32.wSecond stime))
+    msecs = picosecondsToDiffTime $
+      (toInteger (Win32.wMilliseconds stime) * 1000000000)
   return (UTCTime date (seconds + msecs))
 #else
   stat <- posixStat "getModified" path
diff --git a/system-fileio.cabal b/system-fileio.cabal
--- a/system-fileio.cabal
+++ b/system-fileio.cabal
@@ -1,6 +1,6 @@
 cabal-version: 1.18
 name: system-fileio
-version: 0.3.16.5
+version: 0.3.16.6
 license: MIT
 license-file: license.txt
 author: John Millikin <jmillikin@gmail.com>
@@ -68,7 +68,7 @@
     build-depends:
         unix >= 2.3
     c-sources: lib/hssystemfileio-unix.c
-    if impl(ghc >= 7.2.0) && impl(ghc < 7.4.0)
+    if impl(ghc >= 7.2.0) && impl(ghc < 7.4)
       cpp-options: -DSYSTEMFILEIO_LOCAL_OPEN_FILE
 
   exposed-modules:
