diff --git a/server/cros/bluetooth/bluetooth_adapter_quick_tests.py b/server/cros/bluetooth/bluetooth_adapter_quick_tests.py
index 5b4cab5..aa4f0a0 100644
--- a/server/cros/bluetooth/bluetooth_adapter_quick_tests.py
+++ b/server/cros/bluetooth/bluetooth_adapter_quick_tests.py
@@ -572,7 +572,7 @@
                     timeout_mins * 60, self.mtbf_timeout)
                 mtbf_timer.start()
                 start_time = time.time()
-                board = self.host.get_board().split(':')[1]
+                model = self.host.get_model_from_cros_config()
                 build = self.host.get_release_version()
                 milestone = 'M' + self.host.get_chromeos_release_milestone()
                 in_lab = site_utils.host_in_lab(self.host.hostname)
@@ -581,7 +581,7 @@
                         # The test ran the full duration without failure
                         if self.mtbf_end:
                             self.report_mtbf_result(
-                                True, start_time, test_name, board, build,
+                                True, start_time, test_name, model, build,
                                 milestone, in_lab)
                             break
                     try:
@@ -589,7 +589,7 @@
                     except Exception as e:
                         logging.info("Caught a failure: %r", e)
                         self.report_mtbf_result(
-                            False, start_time, test_name, board, build,
+                            False, start_time, test_name, model, build,
                             milestone, in_lab)
                         # Don't report the test run as failed for MTBF
                         self.fails = []
@@ -608,7 +608,7 @@
             self.mtbf_end = True
 
 
-    def report_mtbf_result(self, success, start_time, test_name, board, build,
+    def report_mtbf_result(self, success, start_time, test_name, model, build,
         milestone, in_lab):
         """Report MTBF result by uploading it to GCS"""
         duration_secs = int(time.time() - start_time)
@@ -619,7 +619,7 @@
                            time.strftime('%H-%M-%S.csv', gm_time_struct)
 
         mtbf_result = '{0},{1},{2},{3},{4},{5},{6}'.format(
-            board, build, milestone, start_time * 1000000, duration_secs,
+            model, build, milestone, start_time * 1000000, duration_secs,
             success, test_name)
         with tempfile.NamedTemporaryFile() as tmp_file:
             tmp_file.write(mtbf_result)
