diff --git a/leksah.cabal b/leksah.cabal
--- a/leksah.cabal
+++ b/leksah.cabal
@@ -1,5 +1,5 @@
 name: leksah
-version: 0.12.1.0
+version: 0.12.1.2
 cabal-version: >=1.10
 build-type: Simple
 license: GPL
@@ -120,7 +120,7 @@
                        parsec >=2.1.0.1 && <3.2, pretty >=1.0.1.0 && <1.2,
                        regex-tdfa ==1.1.*, regex-base ==0.93.*, utf8-string >=0.3.1.1 && <0.4, array >=0.2.0.0 && <0.5,
                        time >=0.1 && <1.5, ltk >= 0.12.1.0 && <0.13, binary-shared >= 0.8 && <0.9, deepseq >= 1.1.0.0 && <1.4,
-                       hslogger >= 1.0.7 && <1.2, leksah-server >=0.12.1.0 && <0.13, network >= 2.2 && <3.0,
+                       hslogger >= 1.0.7 && <1.2, leksah-server >=0.12.1.2 && <0.13, network >= 2.2 && <3.0,
                        ghc >=6.10.1 && <7.5, strict >= 0.3.2 && <0.4, enumerator >=0.4.14 && <0.5, text >= 0.11.1.5 && < 0.12,
                        gio >=0.12.2 && <0.13, transformers >=0.2.2.0 && <0.4,
                        QuickCheck >=2.4.2 && <2.5
@@ -148,6 +148,9 @@
             Distribution.PackageDescription.PrettyPrintCopied
             Distribution.PackageDescription.ParseCopied
 
+    if (impl(ghc >= 7.2))
+        binary-shared >=0.8.2
+
     other-modules: Paths_leksah
 
     ghc-prof-options: -auto-all -prof
@@ -191,13 +194,13 @@
                        parsec >=2.1.0.1 && <3.2, pretty >=1.0.1.0 && <1.2,
                        regex-tdfa ==1.1.*, regex-base ==0.93.*, utf8-string >=0.3.1.1 && <0.4, array >=0.2.0.0 && <0.5,
                        time >=0.1 && <1.5, ltk >=0.12.1.0 && <0.13, binary-shared >= 0.8 && <0.9, deepseq >= 1.1.0.0 && <1.4,
-                       hslogger >= 1.0.7 && <1.2, leksah-server >=0.12.1.0 && <0.13, network >= 2.2 && <3.0,
+                       hslogger >= 1.0.7 && <1.2, leksah-server >=0.12.1.2 && <0.13, network >= 2.2 && <3.0,
                        ghc >=6.10.1 && <7.5, strict >= 0.3.2 && <0.4, enumerator >=0.4.14 && <0.5, text >= 0.11.1.5 && < 0.12,
                        gio >=0.12.2 && <0.13, transformers >=0.2.2.0 && <0.4,
                        QuickCheck >=2.4.2 && <2.5
     else
         hs-source-dirs: main
-        build-depends: leksah ==0.12.1.0, base >=4.0.0.0 && <= 5
+        build-depends: leksah ==0.12.1.2, base >=4.0.0.0 && <= 5
 
     default-language: Haskell98
     main-is: Main.hs
@@ -212,7 +215,7 @@
     hs-source-dirs: tests
     main-is:    Tests.hs
     build-depends: base >= 4.0.0.0 && <4.6, Cabal >=1.6.0.1 && <1.15, QuickCheck >=2.4.2 && <2.5,
-                   leksah ==0.12.1.0
+                   leksah ==0.12.1.2
 
 
 
diff --git a/src/IDE/Metainfo/Provider.hs b/src/IDE/Metainfo/Provider.hs
--- a/src/IDE/Metainfo/Provider.hs
+++ b/src/IDE/Metainfo/Provider.hs
@@ -69,6 +69,7 @@
 import Control.Monad.IO.Class (MonadIO(..))
 import Control.Monad.Trans.Class (MonadTrans(..))
 import Distribution.PackageDescription (hsSourceDirs)
+import MyMissing(forceJust)
 
 trace a b = b
 
@@ -167,7 +168,7 @@
                                                             newPackages
                         let psmap2      =   foldr (\e m -> Map.insert (pdPackage e) e m)
                                                     psmap
-                                                    (map fromJust
+                                                    (map (flip forceJust "updateSystemInfo'")
                                                         $ filter isJust newPackageInfos)
                         let psmap3      =   foldr (\e m -> Map.delete e m) psmap2 trashPackages
                         let scope :: PackScope (Map String [Descr])
@@ -276,7 +277,7 @@
                         [] -> modPairsMb
                         hd:_ -> hd : modPairsMb
     let (modWith,modWithout) = partition (\(x,y) -> isJust y) modPairsMb'
-    let modWithSources       = map (\(f,s) -> (f,fromJust s)) modWith
+    let modWithSources       = map (\(f,s) -> (f,forceJust s "updatePackageInfo")) modWith
     let modWithoutSources    = map fst $ modWithout
     -- Now see which modules have to be truely updated
     modToUpdate <- if rebuild
@@ -386,7 +387,7 @@
             file            <-  openBinaryFile filePath ReadMode
             trace ("now loading metadata for package " ++ packageIdentifierToString pid) return ()
             bs              <-  BSL.hGetContents file
-            let (metadataVersion'::Integer, packageInfo::PackageDescr) = decodeSer bs
+            let (metadataVersion'::Integer, packageInfo:: PackageDescr) = decodeSer bs
             if metadataVersion /= metadataVersion'
                 then do
                     hClose file
@@ -433,7 +434,7 @@
         then catch (do
             file            <-  openBinaryFile filePath ReadMode
             bs              <-  BSL.hGetContents file
-            let (metadataVersion'::Integer, moduleInfo::ModuleDescr) = decodeSer bs
+            let (metadataVersion'::Integer, moduleInfo:: ModuleDescr) = decodeSer bs
             if metadataVersion /= metadataVersion'
                 then do
                     hClose file
@@ -442,7 +443,8 @@
                 else do
                     moduleInfo `deepseq` (hClose file)
                     return (Just moduleInfo))
-            (\ (e :: SomeException) -> do sysMessage Normal ("loadInfosForModule: " ++ show e); return Nothing)
+            (\ (e :: SomeException) -> do sysMessage Normal ("loadInfosForModule: "
+                                            ++ filePath ++ " exception: " ++ show e); return Nothing)
         else do
             sysMessage Normal $"moduleInfo not found for " ++ filePath
             return Nothing
@@ -531,7 +533,7 @@
 getPackageImportInfo idePack = do
     mbActivePack  <- readIDE activePack
     systemInfo'   <- getSystemInfo
-    if isJust mbActivePack && ipdPackageId (fromJust mbActivePack) == ipdPackageId idePack
+    if isJust mbActivePack && ipdPackageId (forceJust mbActivePack "getPackageImportInfo") == ipdPackageId idePack
         then do
             packageInfo' <- getPackageInfo
             case packageInfo' of
diff --git a/src/IDE/SymbolNavigation.hs b/src/IDE/SymbolNavigation.hs
--- a/src/IDE/SymbolNavigation.hs
+++ b/src/IDE/SymbolNavigation.hs
@@ -50,10 +50,10 @@
     deriving (Ord,Eq,Show)
 
 createHyperLinkSupport  ::
-        SourceView ->                     -- ^ source buffer view
-        ScrolledWindow ->               -- ^ container window
-        (Bool -> Bool -> TextIter -> IO (TextIter, TextIter)) ->     -- ^ identifiermapper (bools=control,shift)
-        (Bool -> Bool -> String -> IO ()) ->                            -- ^ click handler
+        SourceView ->                     --  source buffer view
+        ScrolledWindow ->               --  container window
+        (Bool -> Bool -> TextIter -> IO (TextIter, TextIter)) ->     --  identifiermapper (bools=control,shift)
+        (Bool -> Bool -> String -> IO ()) ->                            --  click handler
         IO [Connection]
 createHyperLinkSupport sv sw identifierMapper clickHandler = do
     let tv = castToTextView sv
@@ -240,7 +240,7 @@
                     let symz_ = take 50
                                     $ sortBy (comparing getSymbolLocality)
                                     $ map (T.unpack)
-                                    $ filter (matchCamelCase (txt :: T.Text) (ttxt:: T.Text)) (symbolsT ::[T.Text])
+                                    $ filter (matchCamelCase (txt :: T.Text) (ttxt:: T.Text)) (symbolsT :: [T.Text])
                     let symz = sortBy compareLocalityThenLength
                                     $ filter (not . isReexported)
                                     $ concatMap (\sym -> symLookup sym syms `mappend` symLookup sym symsP) symz_
