diff --git a/tools/patman/func_test.py b/tools/patman/func_test.py
index b1f37577643..6233957becd 100644
--- a/tools/patman/func_test.py
+++ b/tools/patman/func_test.py
@@ -635,7 +635,9 @@ diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
         extra = '::::::::::::::\n' + help_file + '\n::::::::::::::\n'
         gothelp = result.stdout.replace(extra, '')
         self.assertEqual(len(gothelp), os.path.getsize(help_file))
-        self.assertEqual(0, len(result.stderr))
+        unexpected = [l for l in result.stderr.splitlines()
+                      if not l.startswith('WARNING:')]
+        self.assertEqual(0, len(unexpected))
         self.assertEqual(0, result.return_code)
 
     def test_help(self):
diff --git a/tools/patman/settings.py b/tools/patman/settings.py
index 17229e0d823..17996b5dd30 100644
--- a/tools/patman/settings.py
+++ b/tools/patman/settings.py
@@ -307,7 +307,7 @@ def _UpdateDefaults(main_parser, config, argv):
                 val = config.get('settings', name)
             defaults[name] = val
         else:
-            print("WARNING: Unknown setting %s" % name)
+            print("WARNING: Unknown setting %s" % name, file=sys.stderr)
     if 'cmd' in defaults:
         del defaults['cmd']
     if 'subcmd' in defaults:
