diff --git a/tools/lint/lib/checks/harness.py b/tools/lint/lib/checks/harness.py
new file mode 100644
index 0000000000000000000000000000000000000000..7876fadafd4607d150622f7953e9508daa1e940a
--- /dev/null
+++ b/tools/lint/lib/checks/harness.py
@@ -0,0 +1,14 @@
+import yaml
+
+from ..check import Check
+
+class CheckHarness(Check):
+    '''Ensure tests don't misuse harness APIs.'''
+    ID = 'HARNESS'
+
+    def run(self, name, meta, source):
+        print(source)
+        if 'verifyConfigurable(' in source and 'verifyProperty(' in source:
+            return 'verifyConfigurable & verifyProperty may not be used in the same file'
+        else:
+            return
diff --git a/tools/lint/lint.py b/tools/lint/lint.py
index 1161a8526acea1e329a57135e71bd24a6de06bd2..2c40c4a4c69f1ba5e247e68cd40ab0a1fdc903a5 100755
--- a/tools/lint/lint.py
+++ b/tools/lint/lint.py
@@ -30,6 +30,7 @@ from lib.checks.esid import CheckEsid
 from lib.checks.features import CheckFeatures
 from lib.checks.frontmatter import CheckFrontmatter
 from lib.checks.harnessfeatures import CheckHarnessFeatures
+from lib.checks.harness import CheckHarness
 from lib.checks.license import CheckLicense
 from lib.checks.negative import CheckNegative
 from lib.checks.filename import CheckFileName
@@ -51,6 +52,7 @@ checks = [
     CheckFrontmatter(),
     CheckFeatures('features.txt'),
     CheckHarnessFeatures(),
+    CheckHarness(),
     CheckLicense(),
     CheckNegative()
 ]
diff --git a/tools/lint/test/fixtures/harness_verifyconfigurableproperty_invalid.js b/tools/lint/test/fixtures/harness_verifyconfigurableproperty_invalid.js
new file mode 100644
index 0000000000000000000000000000000000000000..925c5a6609568802e78caba86c653f0a13a00f2c
--- /dev/null
+++ b/tools/lint/test/fixtures/harness_verifyconfigurableproperty_invalid.js
@@ -0,0 +1,12 @@
+HARNESS - verifyConfigurable & verifyProperty may not be used in the same file
+^ expected errors | v input
+// Copyright (C) 2017 Rick Waldron. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-whatever
+description: Minimal test
+includes: [verifyProperty.js]
+---*/
+
+verifyConfigurable(Object, '');
+verifyProperty(Object, {});
diff --git a/tools/lint/test/fixtures/harness_verifyconfigurableproperty_valid.js b/tools/lint/test/fixtures/harness_verifyconfigurableproperty_valid.js
new file mode 100644
index 0000000000000000000000000000000000000000..f01afd16e9290e047cd7a5172edb950f8830c6f8
--- /dev/null
+++ b/tools/lint/test/fixtures/harness_verifyconfigurableproperty_valid.js
@@ -0,0 +1,10 @@
+^ expected errors | v input
+// Copyright (C) 2017 Rick Waldron. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-whatever
+description: Minimal test
+includes: [verifyProperty.js]
+---*/
+
+verifyConfigurable(Object, '');