diff --git a/pre-upload.py b/pre-upload.py
index 3608d45..74cdda4 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -78,6 +78,9 @@
     r".*/licenses/.*",
 ]
 
+LICENSE_EXCLUDED_PATHS = [
+    r".*/OWNERS$",
+]
 
 _CONFIG_FILE = 'PRESUBMIT.cfg'
 
@@ -1045,9 +1048,10 @@
 
   bad_files = []
   bad_copyright_files = []
-  files = _filter_files(_get_affected_files(commit, relative=True),
-                        included + COMMON_INCLUDED_PATHS,
-                        excluded + COMMON_EXCLUDED_PATHS)
+  files = _filter_files(
+      _get_affected_files(commit, relative=True),
+      included + COMMON_INCLUDED_PATHS,
+      excluded + COMMON_EXCLUDED_PATHS + LICENSE_EXCLUDED_PATHS)
 
   for f in files:
     contents = _get_file_content(f, commit)
@@ -1100,9 +1104,10 @@
 
   included, excluded = _parse_common_inclusion_options(options)
 
-  files = _filter_files(_get_affected_files(commit, relative=True),
-                        included + COMMON_INCLUDED_PATHS,
-                        excluded + COMMON_EXCLUDED_PATHS)
+  files = _filter_files(
+      _get_affected_files(commit, relative=True),
+      included + COMMON_INCLUDED_PATHS,
+      excluded + COMMON_EXCLUDED_PATHS + LICENSE_EXCLUDED_PATHS)
 
   bad_files = []
   for f in files:
diff --git a/pre-upload_unittest.py b/pre-upload_unittest.py
index b436771..e38fb96 100755
--- a/pre-upload_unittest.py
+++ b/pre-upload_unittest.py
@@ -675,6 +675,12 @@
       self.content_mock.return_value = header
       self.assertNotEqual(None, pre_upload._check_cros_license('proj', 'sha1'))
 
+  def testIgnoreExcludedPaths(self):
+    """Ignores excluded paths for license checks."""
+    self.file_mock.return_value = ['foo/OWNERS']
+    self.content_mock.return_value = ('owner@chromium.org')
+    self.assertEqual(None, pre_upload._check_cros_license('proj', 'sha1'))
+
 
 class CheckAOSPLicenseCopyrightHeader(cros_test_lib.MockTestCase):
   """Tests for _check_aosp_license."""
@@ -747,6 +753,12 @@
       self.content_mock.return_value = header
       self.assertNotEqual(None, pre_upload._check_aosp_license('proj', 'sha1'))
 
+  def testIgnoreExcludedPaths(self):
+    """Ignores excluded paths for license checks."""
+    self.file_mock.return_value = ['foo/OWNERS']
+    self.content_mock.return_value = ('owner@chromium.org')
+    self.assertEqual(None, pre_upload._check_aosp_license('proj', 'sha1'))
+
 
 class CheckLayoutConfTestCase(cros_test_lib.MockTestCase):
   """Tests for _check_layout_conf."""
