diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py
index bb9eea3..7f3d54c 100644
--- a/tools/buildman/func_test.py
+++ b/tools/buildman/func_test.py
@@ -976,7 +976,8 @@
 endif
 ''')
         tools.write_file(kc_file, orig_kc_data + extra)
-        params_list, warnings = self._boards.build_board_list(config_dir, src)
+        params_list, warnings = self._boards.build_board_list(config_dir, src,
+                                                              warn_targets=True)
         self.assertEquals(2, len(params_list))
         self.assertEquals(
             ['WARNING: board2_defconfig: Duplicate TARGET_xxx: board2 and other'],
@@ -986,7 +987,8 @@
         lines = [b'' if line == b'config TARGET_BOARD2\n' else line
                   for line in orig_kc_data.splitlines(keepends=True)]
         tools.write_file(kc_file, b''.join(lines))
-        params_list, warnings = self._boards.build_board_list(config_dir, src)
+        params_list, warnings = self._boards.build_board_list(config_dir, src,
+                                                              warn_targets=True)
         self.assertEquals(2, len(params_list))
         self.assertEquals(
             ['WARNING: board2_defconfig: No TARGET_BOARD2 enabled'],
