diff -up glib-9bc3ae920731448575741bf0a799a32c9c1a6668/gio/gdbusconnection.c.orig glib-9bc3ae920731448575741bf0a799a32c9c1a6668/gio/gdbusconnection.c
--- glib-9bc3ae920731448575741bf0a799a32c9c1a6668/gio/gdbusconnection.c.orig	2015-04-21 22:17:44.718396173 +0200
+++ glib-9bc3ae920731448575741bf0a799a32c9c1a6668/gio/gdbusconnection.c	2015-04-21 22:05:13.038428023 +0200
@@ -5470,6 +5470,7 @@ g_dbus_connection_call_internal (GDBusCo
 
       task = g_task_new (connection, cancellable, callback, user_data);
       g_task_set_task_data (task, state, (GDestroyNotify) call_state_free);
+      g_object_ref (task);
 
       g_dbus_connection_send_message_with_reply (connection,
                                                  message,
@@ -5480,6 +5481,8 @@ g_dbus_connection_call_internal (GDBusCo
                                                  g_dbus_connection_call_done,
                                                  task);
       serial = state->serial;
+
+      g_object_unref (task);
     }
   else
     {
