diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for rio
 
+## 0.1.14.1
+
+* Support `unliftio-core` 0.2
+
 ## 0.1.14.0
 
 * Addition of `mkSimpleApp`
diff --git a/rio.cabal b/rio.cabal
--- a/rio.cabal
+++ b/rio.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.32.0.
+-- This file has been generated from package.yaml by hpack version 0.33.0.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 3304dcc13a958b77f994720f0df6f7b7714d1ed441b38b6ab56b91b30164bcd2
+-- hash: 6b5196ca703656226be396b57dc1cad657e697252fabe2a5da4c27bb45262263
 
 name:           rio
-version:        0.1.14.0
+version:        0.1.14.1
 synopsis:       A standard library for Haskell
 description:    See README and Haddocks at <https://www.stackage.org/package/rio>
 category:       Control
diff --git a/src/RIO/Prelude/RIO.hs b/src/RIO/Prelude/RIO.hs
--- a/src/RIO/Prelude/RIO.hs
+++ b/src/RIO/Prelude/RIO.hs
@@ -68,9 +68,8 @@
   runRIO (f outer) m
 
 instance MonadUnliftIO (RIO env) where
-    askUnliftIO = RIO $ ReaderT $ \r ->
-                  withUnliftIO $ \u ->
-                  return (UnliftIO (unliftIO u . flip runReaderT r . unRIO))
+  withRunInIO inner = RIO $ withRunInIO $ \run -> inner (run . unRIO)
+  {-# INLINE withRunInIO #-}
 
 instance PrimMonad (RIO env) where
     type PrimState (RIO env) = PrimState IO
