diff --git a/BoundedChan.cabal b/BoundedChan.cabal
--- a/BoundedChan.cabal
+++ b/BoundedChan.cabal
@@ -1,6 +1,6 @@
 name:          BoundedChan
 category:      Concurrency
-version:       1.0.0.1
+version:       1.0.0.2
 license:       BSD3
 license-file:  LICENSE
 author:        Adam Wick <awick@galois.com>
@@ -17,7 +17,7 @@
 library
   build-depends: base >= 3, array
   exposed-modules: Control.Concurrent.BoundedChan
-  ghc-options: -O2 -Wall -funbox-strict-fields -fno-cse
+  ghc-options: -O2 -Wall -funbox-strict-fields
   if impl(ghc >= 6.8)
     ghc-options: -fwarn-tabs
 
diff --git a/Control/Concurrent/BoundedChan.hs b/Control/Concurrent/BoundedChan.hs
--- a/Control/Concurrent/BoundedChan.hs
+++ b/Control/Concurrent/BoundedChan.hs
@@ -16,7 +16,7 @@
        )
   where
 
-import Control.Concurrent.MVar (MVar, isEmptyMVar, newEmptyMVar, newMVar, 
+import Control.Concurrent.MVar (MVar, isEmptyMVar, newEmptyMVar, newMVar,
                                 putMVar, takeMVar)
 import Control.Monad           (replicateM)
 import Data.Array              (Array, (!), listArray)
@@ -72,7 +72,6 @@
   x  <- readChan ch
   xs <- getChanContents ch
   return (x:xs)
-{-# NOINLINE getChanContents #-}
 
 -- |Write a list of elements to the channel. If the channel becomes full, this
 -- routine will block until it is able to write.
