diff --git a/Data/Array/Accelerate/Math/DFT.hs b/Data/Array/Accelerate/Math/DFT.hs
--- a/Data/Array/Accelerate/Math/DFT.hs
+++ b/Data/Array/Accelerate/Math/DFT.hs
@@ -2,7 +2,8 @@
 {-# LANGUAGE TypeOperators       #-}
 -- |
 -- Module      : Data.Array.Accelerate.Math.DFT
--- Copyright   : [2012] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell
+-- Copyright   : [2012..2014] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell
+--               [2013..2014] Robert Clifton-Everest
 -- License     : BSD3
 --
 -- Maintainer  : Manuel M T Chakravarty <chak@cse.unsw.edu.au>
diff --git a/Data/Array/Accelerate/Math/DFT/Centre.hs b/Data/Array/Accelerate/Math/DFT/Centre.hs
--- a/Data/Array/Accelerate/Math/DFT/Centre.hs
+++ b/Data/Array/Accelerate/Math/DFT/Centre.hs
@@ -1,7 +1,9 @@
-{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE TypeOperators    #-}
 -- |
 -- Module      : Data.Array.Accelerate.Math.DFT.Centre
--- Copyright   : [2012..2013] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell, Robert Clifton-Everest
+-- Copyright   : [2012..2014] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell
+--               [2013..2014] Robert Clifton-Everest
 -- License     : BSD3
 --
 -- Maintainer  : Manuel M T Chakravarty <chak@cse.unsw.edu.au>
@@ -67,7 +69,7 @@
   where
     p ix
       = let Z:.x = unlift ix :: Z :. Exp Int
-        in index1 (x <* mw ? (x + mw, x - mw))
+        in index1 (x A.<* mw ? (x + mw, x - mw))
     Z:.w    = unlift (A.shape arr)
     mw      = w `div` 2
 
@@ -80,8 +82,8 @@
   where
     p ix
       = let Z:.y:.x = unlift ix :: Z :. Exp Int :. Exp Int
-        in index2 (y <* mh ? (y + mh, y - mh))
-                  (x <* mw ? (x + mw, x - mw))
+        in index2 (y A.<* mh ? (y + mh, y - mh))
+                  (x A.<* mw ? (x + mw, x - mw))
     Z:.h:.w = unlift (A.shape arr)
     (mh,mw) = (h `div` 2, w `div` 2)
 
@@ -94,10 +96,10 @@
   where
     p ix
       = let Z:.z:.y:.x = unlift ix :: Z :. Exp Int :. Exp Int :. Exp Int
-        in index3 (z <* md ? (z + md, z - md))
-                  (y <* mh ? (y + mh, y - mh))
-                  (x <* mw ? (x + mw, x - mw))
-    Z:.h:.w:.d = unlift (A.shape arr)
-    (mh,mw,md) = (h `div` 2, w `div` 2, d `div` 2)
+        in index3 (z A.<* md ? (z + md, z - md))
+                  (y A.<* mh ? (y + mh, y - mh))
+                  (x A.<* mw ? (x + mw, x - mw))
+    Z:.h:.w:.d   = unlift (A.shape arr)
+    (mh,mw,md)   = (h `div` 2, w `div` 2, d `div` 2)
     index3 i j k = lift (Z:.i:.j:.k)
 
diff --git a/Data/Array/Accelerate/Math/DFT/Roots.hs b/Data/Array/Accelerate/Math/DFT/Roots.hs
--- a/Data/Array/Accelerate/Math/DFT/Roots.hs
+++ b/Data/Array/Accelerate/Math/DFT/Roots.hs
@@ -1,7 +1,8 @@
 {-# LANGUAGE TypeOperators #-}
 -- |
 -- Module      : Data.Array.Accelerate.Math.DFT.Roots
--- Copyright   : [2012] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell
+-- Copyright   : [2012..2014] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell
+--               [2013..2014] Robert Clifton-Everest
 -- License     : BSD3
 --
 -- Maintainer  : Manuel M T Chakravarty <chak@cse.unsw.edu.au>
diff --git a/Data/Array/Accelerate/Math/FFT.hs b/Data/Array/Accelerate/Math/FFT.hs
--- a/Data/Array/Accelerate/Math/FFT.hs
+++ b/Data/Array/Accelerate/Math/FFT.hs
@@ -8,7 +8,8 @@
 {-# LANGUAGE ViewPatterns             #-}
 -- |
 -- Module      : Data.Array.Accelerate.Math.FFT
--- Copyright   : [2012..2013] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell, Robert Clifton-Everest
+-- Copyright   : [2012..2013] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell
+--               [2013..2014] Robert Clifton-Everest
 -- License     : BSD3
 --
 -- Maintainer  : Manuel M T Chakravarty <chak@cse.unsw.edu.au>
@@ -31,7 +32,6 @@
 
 ) where
 
-import Prelude                                  as P
 import Data.Array.Accelerate                    as A
 import Data.Array.Accelerate.Array.Sugar        ( showShape )
 import Data.Array.Accelerate.Data.Complex
@@ -45,10 +45,12 @@
 import System.Mem.Weak
 import System.IO.Unsafe
 import Foreign.CUDA.FFT
-import qualified Foreign.CUDA.Driver            as CUDA hiding (free)
+import qualified Foreign.CUDA.Types             as CUDA
+import qualified Foreign.CUDA.Driver            as CUDA
 #endif
 
 import Data.Bits
+import Prelude                                  as P
 
 data Mode = Forward | Reverse | Inverse
   deriving (Eq, Show)
@@ -301,14 +303,16 @@
         pure        = interleave . p . deinterleave sh
         sign        = signOfMode mode :: Int
 
-        foreignFFT :: Array DIM1 e -> CIO (Array DIM1 e)
-        foreignFFT arr' = do
+        foreignFFT :: CUDA.Stream -> Array DIM1 e -> CIO (Array DIM1 e)
+        foreignFFT stream arr' = do
           output <- allocateArray (S.shape arr')
           iptr   <- floatingDevicePtr arr'
           optr   <- floatingDevicePtr output
 
           --Execute
-          liftIO $ execute iptr optr
+          liftIO $ do
+            setStream hndl stream
+            execute iptr optr
 
           return output
 
@@ -345,7 +349,7 @@
     in
     generate (lift (sh :. n+m))
              (\ix -> let sz :. i = unlift ix :: Exp sh :. Exp Int
-                     in  i <* n ? (xs ! lift (sz:.i), ys ! lift (sz:.i-n) ))
+                     in  i A.<* n ? (xs ! lift (sz:.i), ys ! lift (sz:.i-n) ))
 
 
 #ifdef ACCELERATE_CUDA_BACKEND
diff --git a/accelerate-fft.cabal b/accelerate-fft.cabal
--- a/accelerate-fft.cabal
+++ b/accelerate-fft.cabal
@@ -1,7 +1,7 @@
 Name:                   accelerate-fft
-Version:                0.15.0.0
+Version:                0.15.1.0
 Cabal-version:          >= 1.6
-Tested-with:            GHC >= 7.6
+Tested-with:            GHC >= 7.8
 Build-type:             Simple
 
 Synopsis:               FFT using the Accelerate library
@@ -26,13 +26,12 @@
 Stability:              Experimental
 
 Flag cuda
-  Description:          Enable support for using CUFFT via the CUDA backend's
-                        FFI
+  Description:          Enable support for using CUFFT via the CUDA backend's FFI
   Default:              True
 
 Library
   Build-depends:        accelerate              == 0.15.*,
-                        base                    >= 4.6 && < 4.8
+                        base                    >= 4.7 && < 4.9
 
   Exposed-modules:      Data.Array.Accelerate.Math.FFT
                         Data.Array.Accelerate.Math.DFT
@@ -45,7 +44,7 @@
     CPP-options:        -DACCELERATE_CUDA_BACKEND
     Build-depends:      accelerate-cuda         == 0.15.*,
                         cuda                    >= 0.5,
-                        cufft                   >= 0.1
+                        cufft                   >= 0.1.2
 
   -- Don't add the extensions list here. Instead, place individual LANGUAGE
   -- pragmas in the files that require a specific extension. This means the
@@ -53,7 +52,9 @@
   --
   -- Extensions:
 
-Source-repository head
-  Type:                 git
-  Location:             git://github.com/AccelerateHS/accelerate-fft.git
+Source-repository this
+  type:                 git
+  location:             git://github.com/AccelerateHS/accelerate-fft.git
+  branch:               release/0.15
+  tag:                  0.15.1.0
 
