diff --git a/test/distrib/cpp/run_distrib_test.sh b/test/distrib/cpp/run_distrib_test.sh
index 9c8da508334c459c66b20555ed7abdb8afd7d925..6b2e043491f3d179674d1e9908619cf30849a607 100755
--- a/test/distrib/cpp/run_distrib_test.sh
+++ b/test/distrib/cpp/run_distrib_test.sh
@@ -33,7 +33,7 @@ set -ex
 git clone $EXTERNAL_GIT_ROOT
 cd grpc
 
-# clone submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk -v EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT/ '{ system("git \
 submodule update --init --reference " EXTERNAL_GIT_ROOT$2 " " $2) }'
 
diff --git a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh
index b112fb11bb6b33431a3e4425b4b98c4ec2f83b6d..4773a602a4ca7ff6cd3eff9e75e2028c2320dfbc 100755
--- a/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh
+++ b/tools/dockerfile/grpc_check_generated_pb_files/check_pb_files.sh
@@ -35,7 +35,7 @@ git clone /var/local/jenkins/grpc /var/local/git/grpc
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh
index 50378032dbaf65fe4d702566d38389d854d48339..6a0b2ef0605024e7677010974e81c2164cc45d01 100755
--- a/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_csharp/build_interop.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh
index c40927430345d00de0b20b06ed1cc8954efbbe68..c2bb64e84b50cfe4f3d94cf1a0fff99ce746d889 100755
--- a/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/build_interop.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh
index 6f8b41241f91c2b0f2151a917711748a7d1df144..47380c8a1251744c2a097478fb37cad44346234e 100755
--- a/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_cxx/build_interop.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh
index 9c99bf56f54aee39028688bf9c4fa75d1a8dbfd9..3adc8394902a81cb4344ecf9307c68054f942de8 100755
--- a/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_http2/build_interop.sh
@@ -34,7 +34,7 @@ set -e
 mkdir -p /var/local/git
 git clone /var/local/jenkins/grpc /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \
 update --init --reference ./../../jenkins/grpc/" $2 " " $2) }')
 
diff --git a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh
index c82972d34e8f8deb10aa9468589e50463c6d8ebc..4b73bb56f808424451af15853b66975e706f706b 100755
--- a/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_node/build_interop.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh
index fcdb28dcdf31e963647e1e3561b7073565edb9ed..48a6444821a28534930a365d464386af386a77ce 100755
--- a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh
index 865802e30b6f60f4151b0f42c6b690a862ceb696..c2348f4f666bbe6d379438cb50c54c6ea0330f31 100755
--- a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh
index 917477c847167ff8265f11361d12430732062862..e85153f51a033867edcfe15981c7dab585403261 100755
--- a/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_python/build_interop.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh
index 449a21ff6507df3975cc790efcd0255ef9d6a062..e5edb5335cb0c294aaf122341cfd84cbec3bf7c4 100755
--- a/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh
index e25783a0b3b7f962197237e3819cfeb20c585b7b..84920860803a505e2c86e6b81ad73edd21783b6b 100755
--- a/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh
+++ b/tools/dockerfile/stress_test/grpc_interop_stress_csharp/build_interop_stress.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh
index d223653f92f76fb5d581add936bd7731a9ce1a96..9ab7aa07274745f0378aa593b55b7c38b678a9a9 100755
--- a/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh
+++ b/tools/dockerfile/stress_test/grpc_interop_stress_cxx/build_interop_stress.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh
index a1d243d411d95c4b141a647b062162db938f9873..de8430d67782ee3423053f725c18c1cbfd1a07bd 100755
--- a/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh
+++ b/tools/dockerfile/stress_test/grpc_interop_stress_go/build_interop_stress.sh
@@ -40,7 +40,7 @@ git clone --recursive /var/local/jenkins/grpc-go src/google.golang.org/grpc
 # grpc/tools/gcp/stress_tests
 git clone /var/local/jenkins/grpc /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \
 update --init --reference ./../../jenkins/grpc/" $2 " " $2) }')
 
diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh
index 4400e74be54db383028c07bfa2601e1197cc361b..ffffea18d21db75dcb16d814a4405ffd55b2b227 100755
--- a/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh
+++ b/tools/dockerfile/stress_test/grpc_interop_stress_java/build_interop_stress.sh
@@ -38,7 +38,7 @@ git clone --recursive --depth 1 /var/local/jenkins/grpc-java /var/local/git/grpc
 # grpc repo (for metrics client and for the stress test wrapper scripts)
 git clone /var/local/jenkins/grpc /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \
 update --init --reference ./../../jenkins/grpc/" $2 " " $2) }')
 
diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh
index c82972d34e8f8deb10aa9468589e50463c6d8ebc..4b73bb56f808424451af15853b66975e706f706b 100755
--- a/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh
+++ b/tools/dockerfile/stress_test/grpc_interop_stress_node/build_interop_stress.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh
index d1ac59fd9176d01d3440c77d92ce9ee581b3b3aa..78bf32ce519d09659761fc1a32d436d2e1a6a5ba 100755
--- a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh
+++ b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh
index ee70c1f3a9a92b9c6d6b3b8a81bb5b98124eeb52..3f85a868032077a39bdc93b5e7bf0c6f32caa767 100755
--- a/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh
+++ b/tools/dockerfile/stress_test/grpc_interop_stress_python/build_interop_stress.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh
index 5e47bafe859e161b428461a8cda2a3f3b5e4d3a6..09b6fb1e117ba3bb1d79615f8345d473cc1b6d0a 100755
--- a/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh
+++ b/tools/dockerfile/stress_test/grpc_interop_stress_ruby/build_interop_stress.sh
@@ -39,7 +39,7 @@ cp -r /var/local/jenkins/service_account $HOME || true
 
 cd /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 git submodule | awk '{ system("git submodule update --init --reference \
 ./../../jenkins/grpc/" $2 " " $2) }'
 
diff --git a/tools/run_tests/dockerize/docker_run.sh b/tools/run_tests/dockerize/docker_run.sh
index 791ed6d7b00a332ae3def6a2a461cb1ab9740eec..e57ceaf0ac8a4a0a52c38073b889d15bca057bc8 100755
--- a/tools/run_tests/dockerize/docker_run.sh
+++ b/tools/run_tests/dockerize/docker_run.sh
@@ -37,7 +37,7 @@ if [ "$RELATIVE_COPY_PATH" == "" ]
 then
   mkdir -p /var/local/git
   git clone "$EXTERNAL_GIT_ROOT" /var/local/git/grpc
-  # clone gRPC submodules
+  # clone gRPC submodules, use data from locally cloned submodules where possible
   (cd var/local/git/grpc && exec git submodule | awk -v \
   EXTERNAL_GIT_ROOT=$EXTERNAL_GIT_ROOT/ '{ system("git submodule update --init \
   --reference " EXTERNAL_GIT_ROOT$2 " " $2) }')
diff --git a/tools/run_tests/dockerize/docker_run_tests.sh b/tools/run_tests/dockerize/docker_run_tests.sh
index ee4c1a5f05de99f39f74cbf46a50d524021a9676..a1e94b2952701642de875c01c6f408824c66b8b8 100755
--- a/tools/run_tests/dockerize/docker_run_tests.sh
+++ b/tools/run_tests/dockerize/docker_run_tests.sh
@@ -44,7 +44,7 @@ chown $(whoami) $XDG_CACHE_HOME
 mkdir -p /var/local/git
 git clone /var/local/jenkins/grpc /var/local/git/grpc
 
-# clone gRPC submodules
+# clone gRPC submodules, use data from locally cloned submodules where possible
 (cd /var/local/git/grpc/ && exec git submodule | awk '{ system("git submodule \
 update --init --reference ./../../jenkins/grpc/" $2 " " $2) }')