diff --git a/Graphics/UI/Gtk/Gdk/Gdk.chs b/Graphics/UI/Gtk/Gdk/Gdk.chs
--- a/Graphics/UI/Gtk/Gdk/Gdk.chs
+++ b/Graphics/UI/Gtk/Gdk/Gdk.chs
@@ -37,8 +37,10 @@
   pointerIsGrabbed,
   keyboardGrab,
   keyboardUngrab,
-  beep,
-  RGBA(..)
+  beep
+#if GTK_MAJOR_VERSION >= 3
+ ,RGBA(..)
+#endif
   ) where
 
 import Control.Monad    (liftM)
@@ -49,7 +51,9 @@
 {#import Graphics.UI.Gtk.Gdk.Cursor#} (Cursor(..))
 import Graphics.UI.Gtk.Gdk.Events
 import Graphics.UI.Gtk.Gdk.Enums        (EventMask, GrabStatus(..))
+#if GTK_MAJOR_VERSION >= 3
 import Graphics.UI.Gtk.General.Structs (RGBA(..))
+#endif
 
 {#context lib="gdk" prefix ="gdk"#}
 
diff --git a/Graphics/UI/Gtk/General/Structs.hsc b/Graphics/UI/Gtk/General/Structs.hsc
--- a/Graphics/UI/Gtk/General/Structs.hsc
+++ b/Graphics/UI/Gtk/General/Structs.hsc
@@ -38,7 +38,9 @@
   Point,
   Rectangle(..),
   Color(..),
+#if GTK_MAJOR_VERSION >= 3
   RGBA(..),
+#endif
 #if GTK_MAJOR_VERSION < 3
   GCValues(..),
   pokeGCValues,
@@ -190,6 +192,7 @@
 #endif
     return ()
 
+#if GTK_MAJOR_VERSION >= 3
 data RGBA = RGBA Double Double Double Double
 
 instance Storable RGBA where
@@ -207,6 +210,7 @@
     #{poke GdkRGBA, blue}  ptr blue
     #{poke GdkRGBA, alpha} ptr alpha
     return ()
+#endif
 
 #if GTK_MAJOR_VERSION < 3
 type ColorMap = ()
diff --git a/Graphics/UI/Gtk/ModelView/TreeSelection.chs b/Graphics/UI/Gtk/ModelView/TreeSelection.chs
--- a/Graphics/UI/Gtk/ModelView/TreeSelection.chs
+++ b/Graphics/UI/Gtk/ModelView/TreeSelection.chs
@@ -282,7 +282,7 @@
 treeSelectionPathIsSelected self path =
   liftM toBool $
   withTreePath path $ \path ->
-  {# call unsafe tree_selection_path_is_selected #}
+  {# call tree_selection_path_is_selected #}
     (toTreeSelection self)
     path
 
@@ -312,7 +312,7 @@
 treeSelectionIterIsSelected self iter =
   liftM toBool $
   with iter $ \iterPtr ->
-  {# call unsafe tree_selection_iter_is_selected #}
+  {# call tree_selection_iter_is_selected #}
     (toTreeSelection self)
     iterPtr
 
diff --git a/Graphics/UI/Gtk/Signals.chs b/Graphics/UI/Gtk/Signals.chs
--- a/Graphics/UI/Gtk/Signals.chs
+++ b/Graphics/UI/Gtk/Signals.chs
@@ -110,7 +110,7 @@
 import Control.Monad    (liftM)
 
 import System.Glib.FFI
-import System.Glib.UTFString   (peekUTFString,maybePeekUTFString)
+import System.Glib.UTFString   (peekUTFString,maybePeekUTFString,newUTFString)
 import qualified System.Glib.UTFString as Glib
 import System.Glib.GError      (failOnGError)
 {#import System.Glib.Signals#}
diff --git a/gtk3.cabal b/gtk3.cabal
--- a/gtk3.cabal
+++ b/gtk3.cabal
@@ -1,5 +1,5 @@
 Name:           gtk3
-Version:        0.13.8
+Version:        0.13.9
 License:        LGPL-2.1
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
@@ -387,7 +387,7 @@
     main-is: ActionMenu.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers, text
+    build-depends: gtk3==0.13.9, base, transformers, text
 
 Executable gtk2hs-demo-buttonBox
     default-language: Haskell98
@@ -395,7 +395,7 @@
     main-is: ButtonBox.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers
+    build-depends: gtk3==0.13.9, base, transformers
 
 Executable gtk2hs-demo-carsim
     default-language: Haskell98
@@ -403,7 +403,7 @@
     main-is: CarSim.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers, time, cairo
+    build-depends: gtk3==0.13.9, base, transformers, time, cairo
 
 Executable gtk2hs-demo-progress
     default-language: Haskell98
@@ -411,7 +411,7 @@
     main-is: Progress.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers
+    build-depends: gtk3==0.13.9, base, transformers
 
 Executable gtk2hs-demo-progressThreadedRTS
     default-language: Haskell98
@@ -419,7 +419,7 @@
     main-is: ProgressThreadedRTS.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers
+    build-depends: gtk3==0.13.9, base, transformers
     ghc-options: -threaded
 
 Executable gtk2hs-demo-fastDraw
@@ -428,7 +428,7 @@
     main-is: FastDraw.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers, array, cairo
+    build-depends: gtk3==0.13.9, base, transformers, array, cairo
 
 Executable gtk2hs-demo-fonts
     default-language: Haskell98
@@ -436,7 +436,7 @@
     main-is: Fonts.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base
+    build-depends: gtk3==0.13.9, base
 
 Executable gtk2hs-demo-builder
     default-language: Haskell98
@@ -444,7 +444,7 @@
     main-is: GtkBuilderTest.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers
+    build-depends: gtk3==0.13.9, base, transformers
 
 Executable gtk2hs-demo-helloworld
     default-language: Haskell98
@@ -452,7 +452,7 @@
     main-is: World.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers
+    build-depends: gtk3==0.13.9, base, transformers
 
 Executable gtk2hs-demo-layout
     default-language: Haskell98
@@ -460,7 +460,7 @@
     main-is: Layout.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers, cairo, text
+    build-depends: gtk3==0.13.9, base, transformers, cairo, text
 
 Executable gtk2hs-demo-menudemo
     default-language: Haskell98
@@ -468,7 +468,7 @@
     main-is: MenuDemo.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers, text
+    build-depends: gtk3==0.13.9, base, transformers, text
 
 Executable gtk2hs-demo-combodemo
     default-language: Haskell98
@@ -476,7 +476,7 @@
     main-is: ComboDemo.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, text, base, transformers
+    build-depends: gtk3==0.13.9, text, base, transformers
 
 Executable gtk2hs-demo-notebook
     default-language: Haskell98
@@ -484,7 +484,7 @@
     main-is: Notebook.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers, text
+    build-depends: gtk3==0.13.9, base, transformers, text
 
 Executable gtk2hs-demo-statusIcon
     default-language: Haskell98
@@ -492,7 +492,7 @@
     main-is: StatusIcon.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers
+    build-depends: gtk3==0.13.9, base, transformers
 
 Executable gtk2hs-demo-arabic
     default-language: Haskell98
@@ -500,7 +500,7 @@
     main-is: Arabic.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers, text
+    build-depends: gtk3==0.13.9, base, transformers, text
 
 Executable gtk2hs-demo-overlay
     default-language: Haskell98
@@ -508,4 +508,4 @@
     main-is: Overlay.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.13.8, base, transformers
+    build-depends: gtk3==0.13.9, base, transformers
