diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.5.1
+
+* Proper options handling
+
 # 0.5.0
 
 * Obey XdgData for storing the files.
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -15,9 +15,11 @@
 import System.Process.Typed
 import Tldr
 
-data TldrOpts = TldrOpts
-  { pageName :: String
-  } deriving (Show)
+data TldrOpts =
+  TldrOpts
+    { pageName :: String
+    }
+  deriving (Show)
 
 tldrDirName :: String
 tldrDirName = "tldr"
@@ -90,7 +92,7 @@
   foldr1 (<|>) <$> mapM pageExists paths
 
 isOption :: String -> Bool
-isOption string = string `isPrefixOf` "--"
+isOption string = "--" `isPrefixOf` string
 
 hasOption :: [String] -> Bool
 hasOption xs = any isOption xs
@@ -102,7 +104,7 @@
     failOpts@(Failure _)
       | args == ["--update"] -> updateTldrPages
       | otherwise ->
-        if hasOption args
+        if (hasOption args || args == [])
           then handleParseResult failOpts >> return ()
           else do
             let npage = intercalate "-" args
diff --git a/tldr.cabal b/tldr.cabal
--- a/tldr.cabal
+++ b/tldr.cabal
@@ -1,5 +1,5 @@
 name:                tldr
-version:             0.5.0
+version:             0.5.1
 synopsis:            Haskell tldr client
 description:         Haskell tldr client with support for updating and viewing tldr pages.
 homepage:            https://github.com/psibi/tldr-hs#readme
