diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,12 @@
 import Distribution.Simple
-main = defaultMain
+import Distribution.Simple.Setup
+import Distribution.Simple.LocalBuildInfo
+import Distribution.PackageDescription (PackageDescription)
+
+main = defaultMainWithHooks $
+       simpleUserHooks { postConf = postConfHook (postConf simpleUserHooks) }
+
+postConfHook oldHook args flags descr buildInfo = case profFlag of
+  Flag True -> error "This library cannot be built using profiling. Try invoking cabal with the --disable-library-profiling flag."
+  _ -> oldHook args flags descr buildInfo
+  where profFlag = configProfLib $ configFlags buildInfo
diff --git a/cbits/HeapView.c b/cbits/HeapView.c
--- a/cbits/HeapView.c
+++ b/cbits/HeapView.c
@@ -249,7 +249,7 @@
             break;
 
         default:
-            fprintf(stderr,"closurePtrs: Cannot handle type %s yet\n", gtc_heap_view_closure_type_names[info->type]);
+            //fprintf(stderr,"closurePtrs: Cannot handle type %s yet\n", gtc_heap_view_closure_type_names[info->type]);
             break;
     }
 
diff --git a/ghc-heap-view.cabal b/ghc-heap-view.cabal
--- a/ghc-heap-view.cabal
+++ b/ghc-heap-view.cabal
@@ -1,5 +1,5 @@
 Name:                ghc-heap-view
-Version:             0.3.0.1
+Version:             0.3.0.2
 Synopsis:            Extract the heap representation of Haskell values and thunks
 Description:
   This library provides functions to introspect the Haskell heap, for example
@@ -16,7 +16,7 @@
 Maintainer:          Joachim Breitner <mail@joachim-breitner.de>
 Copyright:           2012 Joachim Breitner
 Category:            Debug, GHC
-Build-type:          Simple
+Build-type:          Custom
 Cabal-version:       >=1.14
 Extra-source-files:  Demo.hs
 
diff --git a/src/GHC/HeapView.hs b/src/GHC/HeapView.hs
--- a/src/GHC/HeapView.hs
+++ b/src/GHC/HeapView.hs
@@ -334,6 +334,9 @@
         info         :: StgInfoTable 
         , hvalues    :: [Box]
         , rawWords   :: [Word]
+    } |
+    UnsupportedClosure {
+        info         :: StgInfoTable 
     }
  deriving (Show)
 
@@ -354,6 +357,7 @@
 allPtrs (FunClosure {..}) = ptrArgs
 allPtrs (BlockingQueueClosure {..}) = [link, blackHole, owner, queue]
 allPtrs (OtherClosure {..}) = hvalues
+allPtrs (UnsupportedClosure {..}) = []
 
 
 
@@ -533,12 +537,14 @@
             return $ MVarClosure itbl (ptrs !! 0) (ptrs !! 1) (ptrs !! 2)
 
         BLOCKING_QUEUE ->
-          return $ OtherClosure itbl ptrs wds
+            return $ OtherClosure itbl ptrs wds
         --    return $ BlockingQueueClosure itbl
         --        (ptrs !! 0) (ptrs !! 1) (ptrs !! 2) (ptrs !! 3)
 
         --  return $ OtherClosure itbl ptrs wds
-        closure -> error $ "getClosureData: Cannot handle closure type " ++ show closure
+        --
+        _ ->
+            return $ UnsupportedClosure itbl
 
 -- | Like 'getClosureData', but taking a 'Box', so it is easier to work with.
 getBoxedClosureData :: Box -> IO Closure
