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.0
+version:             0.3.4.1
 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
@@ -110,8 +110,12 @@
 instance IsTreeModel (CustomStore private row)
 
 instance GObject (CustomStore private row) where
+#if MIN_VERSION_haskell_gi_base(0,20,1)
+    boxedType _ = boxedType (undefined :: TreeModel)
+#else
     gobjectIsInitiallyUnowned _ = False
     gobjectType _ = gobjectType (undefined :: TreeModel)
+#endif
 
 -- | Type synonym for viewing the store as a set of columns.
 type ColumnMap row = IORef [ColumnAccess row]
diff --git a/src/Data/GI/Gtk/ModelView/ForestStore.hs b/src/Data/GI/Gtk/ModelView/ForestStore.hs
--- a/src/Data/GI/Gtk/ModelView/ForestStore.hs
+++ b/src/Data/GI/Gtk/ModelView/ForestStore.hs
@@ -134,8 +134,12 @@
 instance IsTreeModel (ForestStore a)
 
 instance GObject (ForestStore a) where
+#if MIN_VERSION_haskell_gi_base(0,20,1)
+    boxedType _ = boxedType (undefined :: TreeModel)
+#else
     gobjectIsInitiallyUnowned _ = False
     gobjectType _ = gobjectType (undefined :: TreeModel)
+#endif
 
 instance IsTypedTreeModel ForestStore
 
diff --git a/src/Data/GI/Gtk/ModelView/SeqStore.hs b/src/Data/GI/Gtk/ModelView/SeqStore.hs
--- a/src/Data/GI/Gtk/ModelView/SeqStore.hs
+++ b/src/Data/GI/Gtk/ModelView/SeqStore.hs
@@ -109,8 +109,12 @@
 instance IsTreeModel (SeqStore a)
 
 instance GObject (SeqStore a) where
+#if MIN_VERSION_haskell_gi_base(0,20,1)
+    boxedType _ = boxedType (undefined :: TreeModel)
+#else
     gobjectIsInitiallyUnowned _ = False
     gobjectType _ = gobjectType (undefined :: TreeModel)
+#endif
 
 instance IsTypedTreeModel SeqStore
 
diff --git a/src/Data/GI/Gtk/ModelView/Types.hs b/src/Data/GI/Gtk/ModelView/Types.hs
--- a/src/Data/GI/Gtk/ModelView/Types.hs
+++ b/src/Data/GI/Gtk/ModelView/Types.hs
@@ -133,8 +133,12 @@
 instance IsTreeModel (TypedTreeModelSort row)
 
 instance GObject (TypedTreeModelSort row) where
+#if MIN_VERSION_haskell_gi_base(0,20,1)
+    boxedType _ = boxedType (undefined :: TreeModelSort)
+#else
     gobjectIsInitiallyUnowned _ = False
     gobjectType _ = gobjectType (undefined :: TreeModelSort)
+#endif
 
 unsafeTreeModelSortToGeneric :: TreeModelSort -> TypedTreeModelSort row
 unsafeTreeModelSortToGeneric = unsafeCoerce#
