diff --git a/server/hosts/cros_label.py b/server/hosts/cros_label.py
index 919bf23..4f1b7e6 100644
--- a/server/hosts/cros_label.py
+++ b/server/hosts/cros_label.py
@@ -52,22 +52,7 @@
             if label.startswith(self._NAME + ':'):
                 return [label.split(':')[-1]]
 
-        # Board is used as the primary scheduling criteria for all autotest
-        # runs.  Pre-unified builds, the board and build names matched.
-        #
-        # With unified builds, this is now the name of the builder
-        # and no longer the name of the board that's being targeted for testing.
-        #
-        # Until cbuildbot is migrated to begin using the model label for
-        # scheduling, we need compatibility with the board label so that it
-        # will work with unified builds in the meantime.
-        lsb_output = _parse_lsb_output(host)
-        if lsb_output.unibuild:
-            cmd = 'mosys platform model'
-            result = host.run(command=cmd, ignore_status=True)
-            return [result.stdout.strip()]
-        else:
-            return [lsb_output.board]
+        return [_parse_lsb_output(host).board]
 
 
 class ModelLabel(base_label.StringPrefixLabel):
diff --git a/server/hosts/cros_label_unittest.py b/server/hosts/cros_label_unittest.py
index a909915..02e809f 100755
--- a/server/hosts/cros_label_unittest.py
+++ b/server/hosts/cros_label_unittest.py
@@ -112,18 +112,10 @@
 class BoardLabelTests(unittest.TestCase):
     """Unit tests for BoardLabel"""
 
-    def test_non_unified_build(self):
-        cmd = 'cat /etc/lsb-release'
-        host = MockHost([], MockCmd(cmd, 0, NON_UNI_LSB_RELEASE_OUTPUT))
-        self.assertEqual(BoardLabel().generate_labels(host), ['pyro'])
-
-    def test_unified_build(self):
+    def test_new_label(self):
         cat_cmd = 'cat /etc/lsb-release'
-        host = MockHost(
-            [],
-            MockCmd(cat_cmd, 0, UNI_LSB_RELEASE_OUTPUT),
-            MockCmd('mosys platform model', 0, 'blue\n'))
-        self.assertEqual(BoardLabel().generate_labels(host), ['blue'])
+        host = MockHost([], MockCmd(cat_cmd, 0, NON_UNI_LSB_RELEASE_OUTPUT))
+        self.assertEqual(BoardLabel().generate_labels(host), ['pyro'])
 
     def test_existing_label(self):
         host = MockHost(['board:existing'])
