diff --git a/Lib/distutils/command/check.py b/Lib/distutils/command/check.py
index 5dd73b0..9a8fca1 100644
--- a/Lib/distutils/command/check.py
+++ b/Lib/distutils/command/check.py
@@ -73,7 +73,7 @@
 
         # let's raise an error in strict mode, if we have at least
         # one warning
-        if self.strict and self._warnings > 1:
+        if self.strict and self._warnings > 0:
             raise DistutilsSetupError('Please correct your package.')
 
     def check_metadata(self):
diff --git a/Lib/distutils/tests/test_check.py b/Lib/distutils/tests/test_check.py
index 5e0c453..372bae3 100644
--- a/Lib/distutils/tests/test_check.py
+++ b/Lib/distutils/tests/test_check.py
@@ -72,17 +72,16 @@
         self.assertEquals(cmd._warnings, 1)
 
         # let's see if we have an error with strict=1
-        cmd = check(dist)
-        cmd.initialize_options()
-        cmd.strict = 1
-        cmd.ensure_finalized()
-        self.assertRaises(DistutilsSetupError, cmd.run)
+        metadata = {'url': 'xxx', 'author': 'xxx',
+                    'author_email': 'xxx',
+                    'name': 'xxx', 'version': 'xxx',
+                    'long_description': broken_rest}
+        self.assertRaises(DistutilsSetupError, self._run, metadata,
+                          **{'strict': 1, 'restructuredtext': 1})
 
         # and non-broken rest
-        rest = 'title\n=====\n\ntest'
-        pkg_info, dist = self.create_dist(long_description=rest)
-        cmd = check(dist)
-        cmd.check_restructuredtext()
+        metadata['long_description'] = 'title\n=====\n\ntest'
+        cmd = self._run(metadata, strict=1, restructuredtext=1)
         self.assertEquals(cmd._warnings, 0)
 
     def test_check_all(self):
