diff --git a/System/Glib/UTFString.hs b/System/Glib/UTFString.hs
--- a/System/Glib/UTFString.hs
+++ b/System/Glib/UTFString.hs
@@ -31,6 +31,7 @@
   newUTFStringLen,
   peekUTFString,
   peekUTFStringLen,
+  maybePeekUTFString,
   readUTFString,
   readCString,
   withUTFStrings,
@@ -47,6 +48,7 @@
 
 import Control.Monad	(liftM)
 import Data.Char (ord, chr)
+import Data.Maybe (maybe)
 
 import System.Glib.FFI
 
@@ -74,6 +76,11 @@
 --
 peekUTFString :: CString -> IO String
 peekUTFString strPtr = liftM fromUTF $ peekCString strPtr
+
+-- Define maybePeekUTFString to retrieve UTF-8 from a ptr which is maybe null.
+--
+maybePeekUTFString :: CString -> IO (Maybe String)
+maybePeekUTFString strPtr = liftM (maybe Nothing (Just . fromUTF)) $ maybePeek peekCString strPtr
 
 -- Define peekUTFStringLen to retrieve UTF-8.
 --
diff --git a/glib.cabal b/glib.cabal
--- a/glib.cabal
+++ b/glib.cabal
@@ -1,5 +1,5 @@
 Name:           glib
-Version:        0.11.1
+Version:        0.11.2
 License:        LGPL-2.1
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
