diff --git a/hmatrix-banded.cabal b/hmatrix-banded.cabal
--- a/hmatrix-banded.cabal
+++ b/hmatrix-banded.cabal
@@ -1,5 +1,5 @@
 Name:             hmatrix-banded
-Version:          0.0.0.2
+Version:          0.0.0.3
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -13,7 +13,7 @@
 Build-Type:       Simple
 
 Source-Repository this
-  Tag:         0.0.0.2
+  Tag:         0.0.0.3
   Type:        darcs
   Location:    http://hub.darcs.net/thielema/hmatrix-banded/
 
diff --git a/src/Numeric/LinearAlgebra/Banded.hs b/src/Numeric/LinearAlgebra/Banded.hs
--- a/src/Numeric/LinearAlgebra/Banded.hs
+++ b/src/Numeric/LinearAlgebra/Banded.hs
@@ -20,7 +20,7 @@
 import Foreign.ForeignPtr (withForeignPtr)
 import Foreign.Ptr (Ptr)
 
-import Control.Monad.Trans.Cont (ContT(ContT), runContT)
+import Control.Monad.Trans.Cont (ContT(ContT), evalContT)
 import Control.Monad.IO.Class (liftIO)
 import Control.Monad (when)
 import Control.Applicative (pure, (<*>))
@@ -110,7 +110,7 @@
 choleskyDecompose :: (C a) => SymmetricMatrix a -> UpperMatrix a
 choleskyDecompose (SymmetricMatrix a) = unsafePerformIO $ do
    u <- cloneVector $ Matrix.flatten a
-   flip runContT return $
+   evalContT $
       runChecked "Banded.choleskyDecompose" $
          pure pbtrf
           <*> string "L"
@@ -144,7 +144,7 @@
       printf "Banded.choleskySolve: number of rows mismatch (%i /= %i)"
          (Matrix.rows u) (Matrix.rows rhs)
    x <- cloneVector $ Matrix.flatten $ Matrix.trans rhs
-   flip runContT return $
+   evalContT $
       runChecked "Banded.choleskySolveMany" $
          pure pbtrs
           <*> string "L"
@@ -161,7 +161,7 @@
 
 cloneVector :: (Storable a) => Vector a -> IO (Vector a)
 cloneVector v =
-   flip runContT return $ do
+   evalContT $ do
       (vPtr,len) <- vectorLen v
       w <- liftIO $ Dev.createVector len
       wPtr <- vector w
