diff --git a/gi-gtk-hs.cabal b/gi-gtk-hs.cabal
--- a/gi-gtk-hs.cabal
+++ b/gi-gtk-hs.cabal
@@ -1,5 +1,5 @@
 name:                gi-gtk-hs
-version:             0.3.4.2
+version:             0.3.4.3
 synopsis:            A wrapper for gi-gtk, adding a few more idiomatic API parts on top
 description:         A wrapper for gi-gtk, adding a few more idiomatic API parts on top
 homepage:            https://github.com/haskell-gi/gi-gtk-hs
diff --git a/src/Data/GI/Gtk/ModelView/CustomStore.hs b/src/Data/GI/Gtk/ModelView/CustomStore.hs
--- a/src/Data/GI/Gtk/ModelView/CustomStore.hs
+++ b/src/Data/GI/Gtk/ModelView/CustomStore.hs
@@ -340,9 +340,15 @@
 
 tempManagedPtr :: Ptr a -> IO (ManagedPtr a)
 tempManagedPtr p = do
+#if MIN_VERSION_haskell_gi_base(0,20,3)
+  isDisowned <- newIORef Nothing
+  fPtr <- newForeignPtr_ p
+  return $ ManagedPtr fPtr isDisowned
+#else
   isOwned <- newIORef True
   fPtr <- newForeignPtr_ p
   return $ ManagedPtr fPtr isOwned
+#endif
 
 treeModelIfaceGetIter_static :: StablePtr (CustomStoreImplementation model row) -> Ptr TreeIter -> Ptr TreePath -> IO CInt
 treeModelIfaceGetIter_static storePtr iterPtr pathPtr = do
