diff --git a/scripts/generate_ssl_debug_helpers.py b/scripts/generate_ssl_debug_helpers.py
index fb72690..19fac65 100755
--- a/scripts/generate_ssl_debug_helpers.py
+++ b/scripts/generate_ssl_debug_helpers.py
@@ -281,6 +281,7 @@
     """
         Generate functions of debug helps
     """
+    mbedtls_root = os.path.abspath(mbedtls_root or build_tree.guess_mbedtls_root())
     with open(os.path.join(mbedtls_root, 'include/mbedtls/ssl.h')) as f:
         source_code = remove_c_comments(f.read())
 
@@ -319,7 +320,7 @@
     Command line entry
     """
     parser = argparse.ArgumentParser()
-    parser.add_argument('--mbedtls-root', nargs='?', default=build_tree.guess_mbedtls_root(),
+    parser.add_argument('--mbedtls-root', nargs='?', default=None,
                         help='root directory of mbedtls source code')
     parser.add_argument('output_directory', nargs='?',
                         default='library', help='source/header files location')
diff --git a/scripts/mbedtls_dev/build_tree.py b/scripts/mbedtls_dev/build_tree.py
index aee68f1..3920d0e 100644
--- a/scripts/mbedtls_dev/build_tree.py
+++ b/scripts/mbedtls_dev/build_tree.py
@@ -47,9 +47,10 @@
     Return the first possible mbedTLS root directory
     """
     dirs = set({})
-    for i in inspect.stack():
-        path = os.path.dirname(i.filename)
-        for d in ['.', os.path.pardir, os.path.join(*([os.path.pardir]*2))]:
+    for frame in inspect.stack():
+        path = os.path.dirname(frame.filename)
+        for d in ['.', os.path.pardir] \
+                 + [os.path.join(*([os.path.pardir]*i)) for i in range(2, 10)]:
             d = os.path.abspath(os.path.join(path, d))
             if d in dirs:
                 continue
