diff --git a/scripts/lib/checklayer/__init__.py b/scripts/lib/checklayer/__init__.py
index aa946f3036..07bc7f3e3c 100644
--- a/scripts/lib/checklayer/__init__.py
+++ b/scripts/lib/checklayer/__init__.py
@@ -121,7 +121,7 @@ def _detect_layer(layer_path):
 
     return layer
 
-def detect_layers(layer_directories, no_auto):
+def detect_layers(layer_directories, no_auto, no_sub=0):
     layers = []
 
     for directory in layer_directories:
@@ -129,6 +129,13 @@ def detect_layers(layer_directories, no_auto):
         if directory[-1] == '/':
             directory = directory[0:-1]
 
+        if no_sub:
+            conf_dir = os.path.join(directory, 'conf')
+            if os.path.isdir(conf_dir):
+                layer = _detect_layer(directory)
+                if layer:
+                    layers.append(layer)
+                    continue
         if no_auto:
             conf_dir = os.path.join(directory, 'conf')
             if os.path.isdir(conf_dir):
diff --git a/scripts/yocto-check-layer b/scripts/yocto-check-layer
index 0e5b75b1f7..6a8f23e8f8 100755
--- a/scripts/yocto-check-layer
+++ b/scripts/yocto-check-layer
@@ -71,6 +71,8 @@ def main():
                        help='disable signature checking for software layers')
     parser.add_argument('-n', '--no-auto', help='Disable auto layer discovery',
             action='store_true')
+    parser.add_argument('-s', '--no-sub', help='Disable auto sublayer testing',
+            action='store_true')
     parser.add_argument('-d', '--debug', help='Enable debug output',
             action='store_true')
     parser.add_argument('-q', '--quiet', help='Print only errors',
@@ -98,7 +100,7 @@ def main():
     builddir = os.environ['BUILDDIR']
     bblayersconf = os.path.join(builddir, 'conf', 'bblayers.conf')
 
-    layers = detect_layers(args.layers, args.no_auto)
+    layers = detect_layers(args.layers, args.no_auto, args.no_sub)
     if not layers:
         logger.error("Failed to detect layers")
         return 1
