diff --git a/cbuildbot/stages/config_stages.py b/cbuildbot/stages/config_stages.py
index 3bfbd42..7d8da46 100644
--- a/cbuildbot/stages/config_stages.py
+++ b/cbuildbot/stages/config_stages.py
@@ -101,8 +101,8 @@
   if match:
     if match.group(1) == 'ToT':
       # Given 'build_config.ToT.json',
-      # return branch name 'master'.
-      return 'master'
+      # return branch name 'main'.
+      return 'main'
     else:
       # Given 'build_config.release-R51-8172.B.json',
       # return branch name 'release-R51-8172.B'.
@@ -138,7 +138,7 @@
     milestone_path_pairs = []
     for release_template in release_list:
       milestone_num = _GetMilestone(release_template)
-      # Enable config-updater builder for master branch
+      # Enable config-updater builder for main branch
       # and release branches with milestone_num > 53
       if milestone_num and milestone_num > 53:
         milestone_path_pairs.append((milestone_num, release_template))
@@ -303,7 +303,7 @@
     TODO(crbug/1062657): remove the legacy fallback when ConfigUpdater
     no longer runs on a milestone <= 83.
     """
-    if self.branch == 'master':
+    if self.branch == 'main':
       self._RunNewUnitTest()
     else:
       match = re.search(r'release-R(.+)-.*', self.branch)
diff --git a/cbuildbot/stages/config_stages_unittest.py b/cbuildbot/stages/config_stages_unittest.py
index cebfeb6..6ab9988 100644
--- a/cbuildbot/stages/config_stages_unittest.py
+++ b/cbuildbot/stages/config_stages_unittest.py
@@ -176,12 +176,12 @@
       self.assertEqual(
           os.path.basename(config_change_patch), 'config_change.patch')
 
-  def testMasterBasic(self):
-    """Basic test on master branch."""
+  def testMainBasic(self):
+    """Basic test on main branch."""
     template = 'build_config.ToT.json'
     stage = self.ConstructStage(template)
     stage.PerformStage()
-    self.assertTrue(stage.branch == 'master')
+    self.assertTrue(stage.branch == 'main')
 
   def testReleaseBasic(self):
     """Basic test on release branch."""
