diff --git a/test/core/end2end/dualstack_socket_test.c b/test/core/end2end/dualstack_socket_test.c
index ec3fb651051b9f14e18e926803da982f33456022..fec9667db866c7493dc68ffd31b516cd6147a8c6 100644
--- a/test/core/end2end/dualstack_socket_test.c
+++ b/test/core/end2end/dualstack_socket_test.c
@@ -267,7 +267,7 @@ void test_connect(const char *server_host, const char *client_host, int port,
 int external_dns_works(const char *host) {
   grpc_resolved_addresses *res = grpc_blocking_resolve_address(host, "80");
   if (res != NULL) {
-    gpr_free(res);
+    grpc_resolved_addresses_destroy(res);
     return 1;
   }
   return 0;