diff --git a/hoogle.cabal b/hoogle.cabal
--- a/hoogle.cabal
+++ b/hoogle.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.1.4
 build-type:         Simple
 name:               hoogle
-version:            4.0
+version:            4.0.0.1
 license:            GPL
 license-file:       LICENSE
 category:           Development
diff --git a/src/Hoogle/TypeSig/Parser.hs b/src/Hoogle/TypeSig/Parser.hs
--- a/src/Hoogle/TypeSig/Parser.hs
+++ b/src/Hoogle/TypeSig/Parser.hs
@@ -98,7 +98,7 @@
 
         keysymbol = try $ do
             x <- many1 $ satisfy (\x -> isSymbol x || x `elem` ascSymbol)
-            if x `elem` ["::","=>",".","=","#",":","-","+","/"] then fail "Bad symbol" else
+            if x `elem` ["::","=>",".","=","#",":","-","+","/","--"] then fail "Bad symbol" else
                 return $ if x == "-#" then "->" else x
         ascSymbol = "!#$%&*+./<=>?@\\^|-~:"
 
diff --git a/src/Test/Parse_Query.hs b/src/Test/Parse_Query.hs
--- a/src/Test/Parse_Query.hs
+++ b/src/Test/Parse_Query.hs
@@ -9,6 +9,7 @@
     let (===) = parseTest parseQuery
 
     "/info" === defaultQuery{flags = [Flag "info" ""]}
+    "--info" === defaultQuery{flags = [Flag "info" ""]}
     "/?" === defaultQuery{flags = [Flag "?" ""]}
     "/count=10" === defaultQuery{flags = [Flag "count" "10"]}
     "map" === defaultQuery{names = ["map"]}
@@ -19,6 +20,7 @@
     "+Data.Map map" === defaultQuery{scope = [PlusModule ["Data","Map"]], names = ["map"]}
     "a -> b +foo" === defaultQuery{scope = [PlusPackage "foo"], typeSig = Just (TypeSig [] (TFun [TVar "a",TVar "b"]))}
     "a -> b /foo" === defaultQuery{flags = [Flag "foo" ""], typeSig = Just (TypeSig [] (TFun [TVar "a",TVar "b"]))}
+    "a -> b --foo" === defaultQuery{flags = [Flag "foo" ""], typeSig = Just (TypeSig [] (TFun [TVar "a",TVar "b"]))}
     "Data.Map.map" === defaultQuery{scope = [PlusModule ["Data","Map"]], names = ["map"]}
     "[a]" === defaultQuery{typeSig = Just (TypeSig [] (TApp (TLit "[]") [TVar "a"]))}
     "++" === defaultQuery{names = ["++"]}
