diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index b2e1a6ca3a5e..5354f298f598 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -790,6 +790,10 @@ def modify(args, config, basepath, workspace):
                             "not exist or is not a directory" %
                             srctree)
 
+        if not args.no_extract and os.path.isdir(srctree):
+            raise DevtoolError("Source path %s already exists. Did you mean to "
+                               "specify --no-extract?" % srctree)
+
         recipefile = rd.getVar('FILE')
         appendfile = recipe_to_append(recipefile, config, args.wildcard)
         if os.path.exists(appendfile):
