diff --git a/gi/pygi-invoke.c b/gi/pygi-invoke.c
index 52fddcf..f1a621e 100644
--- a/gi/pygi-invoke.c
+++ b/gi/pygi-invoke.c
@@ -911,6 +911,7 @@ _wrap_g_function_info_invoke (PyGIBaseInfo *self, PyObject *py_args)
         return NULL;
     }
 
+    _free_invocation_state (&state);
     return state.return_value;
 }
 
