diff --git a/test/core/client_config/uri_parser_test.c b/test/core/client_config/uri_parser_test.c
index 37b82aededa7a05d908307e88a77a69e9e075f1e..f87aa81ee660d360f0695fa9faf9067da806d332 100644
--- a/test/core/client_config/uri_parser_test.c
+++ b/test/core/client_config/uri_parser_test.c
@@ -88,6 +88,23 @@ static void test_query_parts() {
     GPR_ASSERT(0 == strcmp("frag", uri->fragment));
     grpc_uri_destroy(uri);
   }
+  {
+    /* test the current behavior of multiple query part values */
+    const char *uri_text = "http://auth/path?foo=bar=baz&foobar==";
+    grpc_uri *uri = grpc_uri_parse(uri_text, 0);
+    GPR_ASSERT(uri);
+
+    GPR_ASSERT(0 == strcmp("http", uri->scheme));
+    GPR_ASSERT(0 == strcmp("auth", uri->authority));
+    GPR_ASSERT(0 == strcmp("/path", uri->path));
+    GPR_ASSERT(0 == strcmp("foo=bar=baz&foobar==", uri->query));
+    GPR_ASSERT(2 == uri->num_query_parts);
+
+    GPR_ASSERT(0 == strcmp("bar", grpc_uri_get_query_arg(uri, "foo")));
+    GPR_ASSERT(0 == strcmp("", grpc_uri_get_query_arg(uri, "foobar")));
+
+    grpc_uri_destroy(uri);
+  }
   {
     /* empty query */
     const char *uri_text = "http://foo/path";