diff --git a/src/admin/admin_remote.c b/src/admin/admin_remote.c
index e634fa79e8..3745b9e701 100644
--- a/src/admin/admin_remote.c
+++ b/src/admin/admin_remote.c
@@ -180,7 +180,9 @@ remoteAdminConnectClose(virAdmConnectPtr conn)
         goto done;
     }
 
-    virNetClientSetCloseCallback(priv->client, NULL, NULL, NULL);
+    virNetClientSetCloseCallback(priv->client, NULL, conn->closeCallback,
+                                 virObjectFreeCallback);
+    virNetClientClose(priv->client);
 
     rv = 0;