diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,6 @@
+## 0.3.1 - 2018-11-19
+ * Fixed modification time restoration on Windows for read-only files [#25](https://github.com/snoyberg/tar-conduit/pull/25).
+
 ## 0.3.0 - 2018-08-28
  * Support for `FTHardLink` restoration, but not creation yet.
  * Restoring files made even more lenient with creation of full directory path if any parents of
diff --git a/src/Data/Conduit/Tar/Windows.hs b/src/Data/Conduit/Tar/Windows.hs
--- a/src/Data/Conduit/Tar/Windows.hs
+++ b/src/Data/Conduit/Tar/Windows.hs
@@ -54,8 +54,8 @@
         CTime modTimeEpoch = fileModTime
         modTime = posixSecondsToUTCTime (fromIntegral modTimeEpoch)
         restoreTimeAndMode = do
-            eExc1 <- tryAnyCond $ Posix.setFileMode fpStr fileMode
-            eExc2 <- tryAnyCond $ Dir.setModificationTime fpStr modTime
+            eExc1 <- tryAnyCond $ Dir.setModificationTime fpStr modTime
+            eExc2 <- tryAnyCond $ Posix.setFileMode fpStr fileMode
             return $! fst $ partitionEithers [eExc1, eExc2]
     case fileType of
         FTDirectory -> do
diff --git a/tar-conduit.cabal b/tar-conduit.cabal
--- a/tar-conduit.cabal
+++ b/tar-conduit.cabal
@@ -1,5 +1,5 @@
 name:                tar-conduit
-version:             0.3.0
+version:             0.3.1
 synopsis:            Extract and create tar files using conduit for streaming
 description:         Please see README.md. This is just filler to avoid warnings.
 homepage:            https://github.com/snoyberg/tar-conduit#readme
@@ -41,7 +41,7 @@
   hs-source-dirs:      tests
   main-is:             Spec.hs
   build-depends:       QuickCheck
-                     , base >= 4.9.0.0
+                     , base >= 4.9.0.0 && < 5
                      , bytestring
                      , conduit
                      , conduit-extra
