diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c
index 4ee188c..15dda50 100644
--- a/libempathy-gtk/empathy-contact-widget.c
+++ b/libempathy-gtk/empathy-contact-widget.c
@@ -465,8 +465,7 @@ contact_widget_details_request_cb (GObject *object,
           G_CALLBACK (contact_widget_details_notify_cb), information);
     }
 
-  g_object_unref (information->details_cancellable);
-  information->details_cancellable = NULL;
+  tp_clear_object (&information->details_cancellable);
 }
 
 static void
@@ -1177,9 +1176,8 @@ contact_widget_remove_contact (EmpathyContactWidget *information)
 
   if (information->details_cancellable != NULL)
     {
-      /* The cancellable will be unreffed and cleared in
-       * contact_widget_details_request_cb */
       g_cancellable_cancel (information->details_cancellable);
+      tp_clear_object (&information->details_cancellable);
     }
 }
 
