diff --git a/tools/run_tests/stress_test/configs/opt-tsan.json b/tools/run_tests/stress_test/configs/opt-tsan.json
index 41401a3f56477a3d548ec9833842e976a9898e73..dab78e5f4c87d537d733950ec791cc7e17ef56f1 100644
--- a/tools/run_tests/stress_test/configs/opt-tsan.json
+++ b/tools/run_tests/stress_test/configs/opt-tsan.json
@@ -2,11 +2,13 @@
     "dockerImages": {
         "grpc_stress_cxx_opt" : {
             "buildScript": "tools/jenkins/build_interop_stress_image.sh",
-            "dockerFileDir": "grpc_interop_stress_cxx"
+            "dockerFileDir": "grpc_interop_stress_cxx",
+            "buildType": "opt"
         },
         "grpc_stress_cxx_tsan": {
             "buildScript": "tools/jenkins/build_interop_stress_image.sh",
-            "dockerFileDir": "grpc_interop_stress_cxx"
+            "dockerFileDir": "grpc_interop_stress_cxx",
+            "buildType": "tsan"
         }
     },
 
@@ -103,7 +105,7 @@
       "kubernetesProxyPort": 8001,
       "datasetIdNamePrefix": "stress_test_opt_tsan",
       "summaryTableId": "summary",
-      "qpsTableId": "qps"
+      "qpsTableId": "qps",
       "podWarmupSecs": 60
     }
 }
diff --git a/tools/run_tests/stress_test/run_on_gke.py b/tools/run_tests/stress_test/run_on_gke.py
index 3c95df2da0a074fea552cdbf655436d576660dec..c301cf441a3ee2520c95abec1b42efc1afaf78b1 100755
--- a/tools/run_tests/stress_test/run_on_gke.py
+++ b/tools/run_tests/stress_test/run_on_gke.py
@@ -93,7 +93,7 @@ class ServerTemplate:
 class DockerImage:
 
   def __init__(self, gcp_project_id, image_name, build_script_path,
-               dockerfile_dir):
+               dockerfile_dir, build_type):
     """Args:
 
       image_name: The docker image name
@@ -108,6 +108,7 @@ class DockerImage:
     self.gcp_project_id = gcp_project_id
     self.build_script_path = build_script_path
     self.dockerfile_dir = dockerfile_dir
+    self.build_type = build_type
     self.tag_name = self.make_tag_name(gcp_project_id, image_name)
 
   def make_tag_name(self, project_id, image_name):
@@ -118,6 +119,7 @@ class DockerImage:
     os.environ['INTEROP_IMAGE'] = self.image_name
     os.environ['INTEROP_IMAGE_REPOSITORY_TAG'] = self.tag_name
     os.environ['BASE_NAME'] = self.dockerfile_dir
+    os.environ['BUILD_TYPE'] = self.build_type
     if subprocess.call(args=[self.build_script_path]) != 0:
       print 'Error in building the Docker image'
       return False
@@ -334,12 +336,15 @@ class Config:
     """Parses the 'dockerImages' section of the config file and returns a
     Dictionary of 'DockerImage' objects keyed by docker image names"""
     docker_images_dict = {}
-    for image_name in config_dict['dockerImages'].keys():
-      build_script_path = config_dict['dockerImages'][image_name]['buildScript']
-      dockerfile_dir = config_dict['dockerImages'][image_name]['dockerFileDir']
+
+    docker_config_dict = config_dict['dockerImages']
+    for image_name in docker_config_dict.keys():
+      build_script_path = docker_config_dict[image_name]['buildScript']
+      dockerfile_dir = docker_config_dict[image_name]['dockerFileDir']
+      build_type = docker_config_dict[image_name]['buildType']
       docker_images_dict[image_name] = DockerImage(gcp_project_id, image_name,
                                                    build_script_path,
-                                                   dockerfile_dir)
+                                                   dockerfile_dir, build_type)
     return docker_images_dict
 
   def parse_client_templates(self, config_dict):