diff --git a/haskell-gi.cabal b/haskell-gi.cabal
--- a/haskell-gi.cabal
+++ b/haskell-gi.cabal
@@ -1,5 +1,5 @@
 name:                haskell-gi
-version:             0.26.17
+version:             0.26.18
 synopsis:            Generate Haskell bindings for GObject Introspection capable libraries
 description:         Generate Haskell bindings for GObject Introspection capable libraries. This includes most notably
                      GTK, but many other libraries in the GObject ecosystem provide introspection data too.
diff --git a/lib/Data/GI/CodeGen/Signal.hs b/lib/Data/GI/CodeGen/Signal.hs
--- a/lib/Data/GI/CodeGen/Signal.hs
+++ b/lib/Data/GI/CodeGen/Signal.hs
@@ -229,7 +229,8 @@
 prepareInoutArg arg = do
   let name = escapedArgName arg
   name' <- genConversion name $ apply $ M "peek"
-  convert name' $ fToH (argType arg) (transfer arg)
+  let c = convert name' $ fToH (argType arg) (transfer arg)
+  wrapMaybe arg >>= bool c (convertNullable name' c (argType arg))
 
 saveOutArg :: Arg -> ExcCodeGen ()
 saveOutArg arg = do
