diff -up pygobject-3.3.3.1/gi/pygi-cache.c.old pygobject-3.3.3.1/gi/pygi-cache.c
--- pygobject-3.3.3.1/gi/pygi-cache.c.old	2012-06-26 13:55:44.987711357 -0400
+++ pygobject-3.3.3.1/gi/pygi-cache.c	2012-06-26 13:56:39.242033085 -0400
@@ -1277,6 +1277,8 @@ _args_cache_generate (GICallableInfo *ca
                         return_direction,
                         -1,
                         -1);
+    if (return_cache == NULL)
+        return FALSE;
 
     return_cache->is_skipped = g_callable_info_skip_return (callable_info);
     callable_cache->return_cache = return_cache;
