diff --git a/leksah-server.cabal b/leksah-server.cabal
--- a/leksah-server.cabal
+++ b/leksah-server.cabal
@@ -1,5 +1,5 @@
 name: leksah-server
-version: 0.8.0.3
+version: 0.8.0.4
 cabal-version: >= 1.2
 build-type: Simple
 license: GPL
diff --git a/src/IDE/HeaderParser.hs b/src/IDE/HeaderParser.hs
--- a/src/IDE/HeaderParser.hs
+++ b/src/IDE/HeaderParser.hs
@@ -26,7 +26,7 @@
 import Control.Monad.Trans (liftIO)
 import Data.Maybe (mapMaybe)
 import Outputable(pprHsVar,showSDoc)
-import IDE.Utils.FileUtils (figureOutHaddockOpts, figureOutGhcOpts)
+import IDE.Utils.FileUtils (figureOutHaddockOpts)
 
 parseTheHeader :: FilePath -> IO ServerAnswer
 parseTheHeader filePath = do
diff --git a/src/IDE/Metainfo/Collector.hs b/src/IDE/Metainfo/Collector.hs
--- a/src/IDE/Metainfo/Collector.hs
+++ b/src/IDE/Metainfo/Collector.hs
@@ -126,7 +126,7 @@
     ]
 
 header :: String
-header = "Usage: leksah-collector [OPTION...] files..."
+header = "Usage: leksah-server [OPTION...] files..."
 
 ideOpts :: [String] -> IO ([Flag], [String])
 ideOpts argv =
@@ -148,7 +148,6 @@
         inner = do
             args            <- getArgs
             (o,_)           <- ideOpts args
-            _fp             <- getConfigFilePathForSave "collectorl.lkslo"
             let verbosity'   =  catMaybes $
                                     map (\x -> case x of
                                         Verbosity s -> Just s
@@ -294,7 +293,9 @@
             infoM "leksah-server" "Metadata collector has nothing to do"
         else do
             when findSources $ liftIO $ buildSourceForPackageDB prefs
-            stats <- mapM (collectPackage writeAscii prefs) newPackages
+            infoM "leksah-server" "update_toolbar 0.0"
+            stats <- mapM (collectPackage writeAscii prefs (length newPackages))
+                            (zip newPackages [1 .. length newPackages])
             writeStats stats
     infoM "leksah-server" "Metadata collection has finished"
 
@@ -328,8 +329,10 @@
                                         ++ if packagesWithSource > 10 then "..." else ""
 
 
-collectPackage :: Bool -> Prefs -> PackageConfig -> IO PackageCollectStats
-collectPackage writeAscii prefs packageConfig = do
+collectPackage :: Bool -> Prefs -> Int -> (PackageConfig,Int) -> IO PackageCollectStats
+collectPackage writeAscii prefs numPackages (packageConfig, packageIndex) = do
+    infoM "leksah-server" ("update_toolbar " ++ show
+        ((fromIntegral packageIndex / fromIntegral numPackages) :: Double))
     packageDescrHI          <- collectPackageFromHI packageConfig
     let packString = packageIdentifierToString (pdPackage packageDescrHI)
     mbPackageDescrPair      <- collectPackageFromSource prefs packageConfig
diff --git a/src/IDE/Metainfo/SourceCollectorH.hs b/src/IDE/Metainfo/SourceCollectorH.hs
--- a/src/IDE/Metainfo/SourceCollectorH.hs
+++ b/src/IDE/Metainfo/SourceCollectorH.hs
@@ -27,6 +27,7 @@
 import Haddock.Types
        (ExportItem(..), DeclInfo,
         Interface(..))
+import Haddock.Interfaces
 #else
 import Documentation.Haddock
 #endif
diff --git a/src/IDE/Metainfo/WorkspaceCollector.hs b/src/IDE/Metainfo/WorkspaceCollector.hs
--- a/src/IDE/Metainfo/WorkspaceCollector.hs
+++ b/src/IDE/Metainfo/WorkspaceCollector.hs
@@ -111,7 +111,7 @@
     -- Construct directory
     liftIO $ createDirectoryIfMissing True packageCollectorPath
     setCurrentDirectory dir
-    opts <- figureOutGhcOpts
+    opts <- figureOutHaddockOpts -- figureOutGhcOpts
     debugM "leksah-server" $ "before collect modules"
     mapM_ (collectModule packageCollectorPath writeAscii packId opts) moduleList
     debugM "leksah-server" $ "after collect modules"
