ba869b4
diff --git a/dbus/dbus-gproxy.c b/dbus/dbus-gproxy.c
ba869b4
index 36d55f8..949a0a0 100644
ba869b4
--- a/dbus/dbus-gproxy.c
ba869b4
+++ b/dbus/dbus-gproxy.c
ba869b4
@@ -658,8 +658,15 @@ unassociate_proxies (gpointer key, gpointer val, gpointer user_data)
ba869b4
 	{
ba869b4
 	  if (!priv->for_owner)
ba869b4
 	    {
ba869b4
-	      g_assert (priv->associated);
ba869b4
-	      g_assert (priv->name_call == NULL);
ba869b4
+	      /* If a service appeared and then vanished very quickly,
ba869b4
+	       * it's conceivable we have an inflight request for
ba869b4
+	       * GetNameOwner here.  Cancel it.
ba869b4
+	       * https://bugs.freedesktop.org/show_bug.cgi?id=18573
ba869b4
+	       */
ba869b4
+	      if (priv->name_call)
ba869b4
+		dbus_g_proxy_cancel_call (manager->bus_proxy, priv->name_call);
ba869b4
+
ba869b4
+	      priv->name_call = NULL;
ba869b4
 
ba869b4
 	      priv->associated = FALSE;
ba869b4
 	      manager->unassociated_proxies = g_slist_prepend (manager->unassociated_proxies, proxy);