diff --git a/atomic-file-ops.cabal b/atomic-file-ops.cabal
--- a/atomic-file-ops.cabal
+++ b/atomic-file-ops.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: c99c5c27028e37e8c193615439954b060cb45d7960b363af14f94efe50c7ec62
+-- hash: 80957c133b0dc5db979c5255077f7f343be446ea198a3b3dab11ad7a198228d1
 
 name:           atomic-file-ops
-version:        0.2.0.0
+version:        0.3.0.0
 synopsis:       Functions to atomically write to files
 description:    See module "System.IO.AtomicFileOps" for an overview and documentation.
 category:       System
diff --git a/src/System/IO/AtomicFileOps.hs b/src/System/IO/AtomicFileOps.hs
--- a/src/System/IO/AtomicFileOps.hs
+++ b/src/System/IO/AtomicFileOps.hs
@@ -162,10 +162,9 @@
 does not exist.
 -}
 atomicModifyFile :: (CanGetContents contents, CanPutStr contents)
-  => Maybe FilePath -> Maybe AtomicTempOptions -> FilePath -> (contents -> IO (IO a, Maybe contents)) -> IO a
-atomicModifyFile maybeLockFile maybeTempOptions fileToReplace contentsFunction =
+  => Maybe AtomicTempOptions -> FilePath -> FilePath -> (contents -> IO (IO a, Maybe contents)) -> IO a
+atomicModifyFile maybeTempOptions lockFile fileToReplace contentsFunction =
   withFileLock lockFile Exclusive actionDuringLock where
-    lockFile = fromMaybe (fileToReplace <> ".lock") maybeLockFile
     actionDuringLock _ = do
       contents <- hGetContents fileToReplace
       (result, maybeNewContents) <- contentsFunction contents
