diff --git a/src/core/client_config/uri_parser.c b/src/core/client_config/uri_parser.c
index 615aa4eaf0ace16cb0bc5332bde9716145b322d7..410a61c8cf32634807127867d5acff2c8e7e7936 100644
--- a/src/core/client_config/uri_parser.c
+++ b/src/core/client_config/uri_parser.c
@@ -98,8 +98,8 @@ grpc_uri *grpc_uri_parse(const char *uri_text, int suppress_errors) {
 
   if (uri_text[scheme_end + 1] == '/' && uri_text[scheme_end + 2] == '/') {
     authority_begin = scheme_end + 3;
-    for (i = authority_begin; uri_text[i] != 0; i++) {
-      if (uri_text[i] == '/' && authority_end == -1) {
+    for (i = authority_begin; uri_text[i] != 0 && authority_end == -1; i++) {
+      if (uri_text[i] == '/') {
         authority_end = i;
       }
       if (uri_text[i] == '?') {