diff --git a/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile b/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile
index c25033387f9f452a032e139521065b2c2288e089..503a4357070b1d1e07c52a84bbd700153b504769 100644
--- a/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile
+++ b/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile
@@ -63,6 +63,13 @@ RUN apt-get update && apt-get install -y \
 # Build profiling
 RUN apt-get update && apt-get install -y time && apt-get clean
 
+#================
+# Add backport to Debian sources.list and update git to version > 1.7
+RUN echo "deb http://http.debian.net/debian wheezy-backports main" \
+  >/etc/apt/sources.list.d/wheezy-backports.list
+RUN apt-get update -qq
+RUN apt-get -t wheezy-backports install -y -qq git mercurial
+
 #====================
 # Python dependencies
 
diff --git a/tools/run_tests/dockerize/docker_run_tests.sh b/tools/run_tests/dockerize/docker_run_tests.sh
index 3bab7ffd903f68eb2a67c9921ff1f48f6aefcca5..7108964a9bc87d5bc9e520baaae55d0a33ec5847 100755
--- a/tools/run_tests/dockerize/docker_run_tests.sh
+++ b/tools/run_tests/dockerize/docker_run_tests.sh
@@ -42,21 +42,11 @@ export PATH=$PATH:/usr/bin/llvm-symbolizer
 chown $(whoami) $XDG_CACHE_HOME
 
 mkdir -p /var/local/git
-git clone /var/local/jenkins/grpc /var/local/git/grpc
-
-# (todo (mattkwong): the /var/local/jenkins/grpc has no submodules and boringssl 
-# has non-submodule files in it. Figure out how to fix this for local cloning 
-## this prints to console "reports reports.zip"
-# ls /var/local/jenkins/grpc/third_party/boringssl
-## none of these print anything (empty directory)
-# ls /var/local/jenkins/grpc/third_party/gflags
-# ls /var/local/jenkins/grpc/third_party/googletest
-# ls /var/local/jenkins/grpc/third_party/nanopb
-# ls /var/local/jenkins/grpc/third_party/protobuf
-# ls /var/local/jenkins/grpc/third_party/thrift
-# ls /var/local/jenkins/grpc/third_party/zlib
-
-(cd /var/local/git/grpc && git submodule update --init --recursive )
+git clone  /var/local/jenkins/grpc /var/local/git/grpc
+# clone gRPC submodules, use data from locally cloned submodules where possible
+(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \
+&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \
+${name}')
 
 mkdir -p reports