diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.2.5
+
+* Fix eager cloning
+
 # 0.2.4
 
 * Don't do cloning unnecessarily [#7](https://github.com/psibi/tldr-hs/issues/7)
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -100,15 +100,12 @@
 main = do
   args <- getArgs
   case execParserPure (prefs noBacktrack) tldrParserInfo args of
-    Failure _
-      | null args -> handleParseResult . Failure $ parserFailure defaultPrefs tldrParserInfo ShowHelpText mempty
+    failOpts@(Failure _)
       | args == ["--update"] -> updateTldrPages
-    (parseResult :: ParserResult TldrOpts) -> do
-         case args of
-           ["--help"] -> handleParseResult . Failure $ parserFailure defaultPrefs tldrParserInfo ShowHelpText mempty
-           _ -> do
-             initializeTldrPages
-             opts <- handleParseResult parseResult
-             let page = pageName opts
-             fname <- getPagePath page
-             maybe (putStrLn ("No tldr entry for " <> page)) renderPage fname
+      | otherwise -> handleParseResult failOpts >> return ()
+    Success opts -> do
+         initializeTldrPages
+         let page = pageName opts
+         fname <- getPagePath page
+         maybe (putStrLn ("No tldr entry for " <> page)) renderPage fname
+    _ -> return ()
diff --git a/tldr.cabal b/tldr.cabal
--- a/tldr.cabal
+++ b/tldr.cabal
@@ -1,5 +1,5 @@
 name:                tldr
-version:             0.2.4
+version:             0.2.5
 synopsis:            Haskell tldr client
 description:         Haskell tldr client with support for updating and viewing tldr pages.
 homepage:            https://github.com/psibi/tldr-hs#readme
