diff --git a/haskell-docs.cabal b/haskell-docs.cabal
--- a/haskell-docs.cabal
+++ b/haskell-docs.cabal
@@ -1,5 +1,5 @@
 name:                haskell-docs
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            A program to find and display the docs of a name from a
                      given module.
 description:         Given a module name and a name, it will find and display
@@ -25,7 +25,7 @@
                      so too will this program be, to GHC, and to Haddock. I suggest
                      installing like this:
                      .
-                     > cabal-dev install haskell-docs --constraint haddock==2.10.0
+                     > cabal install haskell-docs --constraint haddock==2.10.0
                      .
                      But replace the 2.10.0 with the version that haddock --version gives you.
                      .
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -102,16 +102,19 @@
       flip anyM files $ \interfaceFile ->
         case filter ((==mname) . moduleName . instMod) (ifInstalledIfaces interfaceFile) of
           [] -> error "Couldn't find an interface for that module in the package description."
-          interfaces -> anyM (printWithInterface d printPackage package name) interfaces
+          interfaces -> anyM (printWithInterface d printPackage package name mname) interfaces
 
 -- | Print the documentation from the given interface.
-printWithInterface :: DynFlags -> Bool -> PackageConfig -> String -> InstalledInterface -> IO Bool
-printWithInterface d printPackage package name interface = do
+printWithInterface :: DynFlags -> Bool -> PackageConfig -> String -> ModuleName -> InstalledInterface
+                   -> IO Bool
+printWithInterface d printPackage package name mname interface = do
   case M.lookup name docMap of
-    Nothing ->
+    Nothing -> do
       case lookup name (map (getOccString &&& id) (instExports interface)) of
-        Just subname -> descendSearch d name subname package
-        Nothing -> do
+        Just subname
+          | moduleName (nameModule subname) /= moduleName (instMod interface) ->
+            descendSearch d name subname package
+        _ -> do
           putStrLn $ "Couldn't find name ``" ++ name ++ "'' in Haddock interface: " ++
                      moduleNameString (moduleName (instMod interface))
           return False
