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.12.1.0
+version: 0.12.1.1
 cabal-version: >= 1.10.2
 build-type: Simple
 license: GPL
@@ -40,7 +40,7 @@
                pretty >=1.0.1.0 && <1.2, time >=1.1 && <1.5, deepseq >=1.1 && <1.4,
                hslogger >= 1.0.7 && <1.2, network >=2.2 && <3.0, enumerator >=0.4.14 && < 0.5,
                attoparsec-enumerator >=0.3 && <0.4, attoparsec >=0.10.0.3 && <0.11,
-               transformers >=0.2.2.0 && <0.4
+               transformers >=0.2.2.0 && <0.4, strict >=0.3.2 && <0.4
     if (impl(ghc >= 7.4))
        build-depends: haddock >= 2.7.2 && <2.11
     else
@@ -85,9 +85,9 @@
         IDE.Metainfo.SourceCollectorH
         IDE.Metainfo.SourceDB Paths_leksah_server
     if (impl(ghc >= 6.12))
-       ghc-options: -Wall -fno-warn-unused-do-bind -ferror-spans 
+       ghc-options: -Wall -fno-warn-unused-do-bind -ferror-spans
     else
-       ghc-options: -Wall -ferror-spans 
+       ghc-options: -Wall -ferror-spans
     ghc-prof-options: -auto-all -prof
 
 executable leksah-server
@@ -100,7 +100,7 @@
                pretty >=1.0.1.0 && <1.2, time >=1.1 && <1.5, deepseq >=1.1 && <1.4,
                hslogger >= 1.0.7 && <1.2, network >=2.2 && <3.0, enumerator >= 0.4.14 && <0.5,
                attoparsec-enumerator >=0.3 && <0.4, attoparsec >=0.10.0.3 && <0.11,
-               transformers >=0.2.2.0 && <0.4
+               transformers >=0.2.2.0 && <0.4, strict >=0.3.2 && <0.4
     if (impl(ghc >= 7.4))
        build-depends: haddock >= 2.7.2 && <2.11
     else
@@ -150,9 +150,9 @@
         ghc-options: -rtsopts
 
     if impl(ghc >= 6.12)
-        ghc-options: -Wall -fno-warn-unused-do-bind -ferror-spans 
+        ghc-options: -Wall -fno-warn-unused-do-bind -ferror-spans
     else
-        ghc-options: -Wall -ferror-spans 
+        ghc-options: -Wall -ferror-spans
     ghc-prof-options: -auto-all -prof
 
 executable leksahecho
@@ -177,9 +177,9 @@
         ghc-options: -threaded
 
     if (impl(ghc >= 6.12))
-       ghc-options: -Wall -fno-warn-unused-do-bind -ferror-spans 
+       ghc-options: -Wall -fno-warn-unused-do-bind -ferror-spans
     else
-       ghc-options: -Wall -ferror-spans 
+       ghc-options: -Wall -ferror-spans
 
 test-suite test-tool
     default-language: Haskell98
diff --git a/src/IDE/Metainfo/SourceDB.hs b/src/IDE/Metainfo/SourceDB.hs
--- a/src/IDE/Metainfo/SourceDB.hs
+++ b/src/IDE/Metainfo/SourceDB.hs
@@ -38,7 +38,9 @@
        (colon, (<>), text, ($$), vcat, Doc, render, char)
 import Text.ParserCombinators.Parsec
        (try, char, unexpected, noneOf, eof, many, CharParser,
-        parseFromFile, (<?>), (<|>))
+        Parser, (<?>), (<|>))
+import Text.ParserCombinators.Parsec.Prim (parse)
+import Text.ParserCombinators.Parsec.Error (ParseError)
 import Text.ParserCombinators.Parsec.Language (emptyDef)
 #if MIN_VERSION_parsec(3,0,0)
 import qualified Text.ParserCombinators.Parsec.Token as P
@@ -53,6 +55,7 @@
 import IDE.Core.CTypes (packageIdentifierFromString)
 import Paths_leksah_server
 import System.Log.Logger(errorM,debugM)
+import System.IO.Strict as S (readFile)
 
 -- ---------------------------------------------------------------------
 -- Function to map packages to file paths
@@ -105,6 +108,12 @@
                              PP.<>  PP.char '\n'
         where label  =  PP.text pd PP.<> PP.colon
 
+-- Strict version
+parseFromFile :: Parser a -> String -> IO (Either ParseError a)
+parseFromFile p f = do
+    input <- S.readFile f
+    return $ parse p f input
+
 parseSourceForPackageDB :: IO (Maybe (Map PackageIdentifier [FilePath]))
 parseSourceForPackageDB = do
     dataDir         <-  getDataDir
@@ -112,7 +121,7 @@
     exists          <-  doesFileExist filePath
     if exists
         then do
-            res             <-  parseFromFile sourceForPackageParser filePath
+            res <- parseFromFile sourceForPackageParser filePath
             case res of
                 Left pe ->  do
                     errorM "leksah-server" $ "Error reading source packages file "
@@ -181,7 +190,7 @@
 parseCabal :: FilePath -> IO (Maybe String)
 parseCabal fn = do
     --putStrLn $ "Now parsing minimal " ++ fn
-    res     <-  parseFromFile cabalMinimalParser fn
+    res   <- parseFromFile cabalMinimalParser fn
     case res of
         Left pe ->  do
             errorM "leksah-server" $"Error reading cabal file " ++ show fn ++ " " ++ show pe
