diff --git a/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/LocalTreeLockManager.java b/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/LocalTreeLockManager.java
index 97cba26..bb5ce82 100644
--- a/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/LocalTreeLockManager.java
+++ b/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/LocalTreeLockManager.java
@@ -179,7 +179,7 @@
       LOG.warn("Child write lock current held: {}", p);
       return true;
     }
-    if (level <= maxLevel) {
+    if (level < maxLevel) {
       Set<Path> childPaths = currentNode.children.keySet();
       for (Path child : childPaths) {
         if (writeLockBelow(child, level+1, maxLevel)) {
@@ -197,7 +197,7 @@
       LOG.warn("Child read lock currently held: {}", p);
       return true;
     }
-    if (level <= maxLevel) {
+    if (level < maxLevel) {
       Set<Path> childPaths = index.get(p).children.keySet();
       for (Path child : childPaths) {
         if (readLockBelow(child, level+1, maxLevel)) {
diff --git a/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/TestTreeLockManager.java b/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/TestTreeLockManager.java
index 5efc349..6fb3285 100644
--- a/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/TestTreeLockManager.java
+++ b/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/TestTreeLockManager.java
@@ -22,10 +22,12 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.hadoop.hbase.oss.sync.AutoLock;
+import org.apache.hadoop.hbase.oss.sync.NullTreeLockManager;
 import org.apache.hadoop.hbase.oss.sync.TreeLockManager;
 import org.apache.hadoop.hbase.oss.sync.TreeLockManager.Depth;
 import org.apache.hadoop.fs.Path;
 import org.junit.Assert;
+import org.junit.Assume;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -36,6 +38,8 @@
 
   @Test
   public void testLockBelowChecks() throws Exception {
+    Assume.assumeFalse(sync instanceof NullTreeLockManager);
+
     Path parent = testPath("testListingLevels");
     Path child = new Path(parent, "child");
     Path deepWrite = new Path(child, "w");
