diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # avif
 
+# 0.1.2.1
+
+  * Remove deprecated function under the hood
+
 # 0.1.2.0
 
   * Add `decodeE` and `AvifResult`
diff --git a/avif.cabal b/avif.cabal
--- a/avif.cabal
+++ b/avif.cabal
@@ -1,6 +1,6 @@
 cabal-version:   1.18
 name:            avif
-version:         0.1.2.0
+version:         0.1.2.1
 license:         AGPL-3
 license-file:    LICENSE
 copyright:       Copyright: (c) 2021 Vanessa McHale
diff --git a/src/Codec/Avif.chs b/src/Codec/Avif.chs
--- a/src/Codec/Avif.chs
+++ b/src/Codec/Avif.chs
@@ -8,11 +8,10 @@
 import Codec.Picture (Image (Image), PixelRGBA8)
 import Control.Exception (throw, throwIO)
 import qualified Data.ByteString as BS
-import Data.ByteString.Internal (memcpy)
 import qualified Data.ByteString.Unsafe as BS
 import Foreign.Ptr (castPtr)
 import Foreign.ForeignPtr (castForeignPtr, newForeignPtr, mallocForeignPtrBytes, withForeignPtr)
-import Foreign.Marshal (allocaBytes)
+import Foreign.Marshal (allocaBytes, copyBytes)
 import qualified Data.Vector.Storable as VS
 import System.IO.Unsafe (unsafePerformIO)
 
@@ -90,5 +89,5 @@
                 outBytes <- mallocForeignPtrBytes (fromIntegral sz')
 
                 withForeignPtr outBytes $ \outPtr -> do
-                    memcpy (castPtr outPtr) (castPtr pxPtr) (fromIntegral sz')
+                    copyBytes outPtr (castPtr pxPtr) (fromIntegral sz')
                     Right (Image (fromIntegral w) (fromIntegral h) (VS.unsafeFromForeignPtr0 outBytes (fromIntegral sz'))) <$ (avifRGBImageFreePixels rgbImagePtr)
