diff --git a/Distribution/Gentoo/GHC.hs b/Distribution/Gentoo/GHC.hs
--- a/Distribution/Gentoo/GHC.hs
+++ b/Distribution/Gentoo/GHC.hs
@@ -115,8 +115,8 @@
 
 -- Read in all Gentoo .conf files from the current GHC version and
 -- create a Map
-readConf :: Verbosity -> IO ConfMap
-readConf v = ghcLibDir >>= confFiles "gentoo" >>= foldM (addConf v) Map.empty
+readConf :: Verbosity -> FilePath -> IO ConfMap
+readConf v conf_subdir = ghcLibDir >>= confFiles conf_subdir >>= foldM (addConf v) Map.empty
 
 -- cabal package text format
 -- "[InstalledPackageInfo {installedPackageId = Insta..."
@@ -259,10 +259,17 @@
                         , L.intercalate " " orphan_broken
                         ]
 
-       let all_broken = ghc_pkg_brokens ++ orphan_broken
+       installed_but_not_registered <- getNotRegistered v
+       vsay v $ unwords [ "checkPkgs: ghc .conf not registered:"
+                        , show (length installed_but_not_registered)
+                        , "are not registered:"
+                        , L.intercalate " " installed_but_not_registered
+                        ]
 
+       let all_broken = ghc_pkg_brokens ++ orphan_broken ++ installed_but_not_registered
+
        vsay v "brokenConfs: reading '*.conf' files"
-       cnfs <- readConf v
+       cnfs <- readConf v "gentoo"
        vsay v $ "brokenConfs: got " ++ show (Map.size cnfs) ++ " '*.conf' files"
        let (known_broken, orphans) = partitionEithers $ map (matchConf cnfs) all_broken
        return (known_broken, orphan_confs ++ orphans)
@@ -286,6 +293,17 @@
                               forM orphan_conf_files $
                                   liftM parse_as_ghc_package . BS.readFile
        return (orphan_packages, orphan_conf_files)
+
+-- Return packages, that seem to have
+-- been installed via emerge (have gentoo/.conf entry),
+-- but are not registered in package.conf.d.
+-- Usually happens on manual cleaning or
+-- due to unregistration bugs in old eclass.
+getNotRegistered :: Verbosity -> IO [CabalPV]
+getNotRegistered v = do
+    installed_confs  <- readConf v "gentoo"
+    registered_confs <- readConf v "package.conf.d"
+    return $ Map.keys installed_confs L.\\ Map.keys registered_confs
 
 -- -----------------------------------------------------------------------------
 
diff --git a/haskell-updater.cabal b/haskell-updater.cabal
--- a/haskell-updater.cabal
+++ b/haskell-updater.cabal
@@ -1,6 +1,6 @@
 Name:                haskell-updater
 Homepage:            http://haskell.org/haskellwiki/Gentoo#haskell-updater
-Version:             1.2.6
+Version:             1.2.7
 Synopsis:            Rebuild Haskell dependencies in Gentoo
 Description:         haskell-updater rebuilds Haskell packages on Gentoo
                      after a GHC upgrade or a dependency upgrade.
