diff --git a/bin/bitbake-setup b/bin/bitbake-setup
index bda62f5f4..5a0ad599a 100755
--- a/bin/bitbake-setup
+++ b/bin/bitbake-setup
@@ -871,7 +871,7 @@ def main():
         builtin_settings = {}
         builtin_settings['default'] = {
                          'top-dir-prefix':os.getcwd(),
-                         'top-dir-name':'bitbake-builds',
+                         'top-dir-name':'',
                          'registry':default_registry,
                          }
 
diff --git a/lib/bb/tests/setup.py b/lib/bb/tests/setup.py
index d761ee734..85bb33db4 100644
--- a/lib/bb/tests/setup.py
+++ b/lib/bb/tests/setup.py
@@ -233,22 +233,28 @@ print("BBPATH is {{}}".format(os.environ["BBPATH"]))
         if 'BBPATH' in os.environ:
             del os.environ['BBPATH']
 
+        TOP_DIR_NAME = 'bitbake-builds'
+
         # check that no arguments works
         self.runbbsetup("")
 
         # check that --help works
         self.runbbsetup("--help")
 
-        # check that the default top-dir-prefix is cwd before any settings are configured
+        # check that the default top-dir-prefix is cwd and top-dir-name is empty before any settings are configured
         out = self.runbbsetup("settings list")
         self.assertIn("default top-dir-prefix {}".format(os.getcwd()), out[0])
+        self.assertIn("default top-dir-name", out[0])
 
-        # set up global location for top-dir-prefix
+        # set up global location for top-dir-prefix and top-dir-name
         out = self.runbbsetup("settings set --global default top-dir-prefix {}".format(self.tempdir))
         settings_path = "{}/global-config".format(self.tempdir)
         self.assertIn(settings_path, out[0])
         self.assertIn("From section 'default' the setting 'top-dir-prefix' was changed to", out[0])
         self.assertIn("Settings written to".format(settings_path), out[0])
+        out = self.runbbsetup('settings set --global default top-dir-name "{}"'.format(TOP_DIR_NAME))
+        self.assertIn("From section 'default' the setting 'top-dir-name' was changed to '{}'".format(TOP_DIR_NAME), out[0])
+        self.assertIn("Settings written to".format(settings_path), out[0])
         out = self.runbbsetup("settings set --global default dl-dir {}".format(os.path.join(self.tempdir, 'downloads')))
         self.assertIn("From section 'default' the setting 'dl-dir' was changed to", out[0])
         self.assertIn("Settings written to".format(settings_path), out[0])
@@ -256,7 +262,7 @@ print("BBPATH is {{}}".format(os.environ["BBPATH"]))
         # check that writing settings works and then adjust them to point to
         # test registry repo
         out = self.runbbsetup("settings set default registry 'git://{};protocol=file;branch=master;rev=master'".format(self.registrypath))
-        settings_path = "{}/bitbake-builds/settings.conf".format(self.tempdir)
+        settings_path = os.path.join(self.tempdir, TOP_DIR_NAME, "settings.conf")
         self.assertIn(settings_path, out[0])
         self.assertIn("From section 'default' the setting 'registry' was changed to", out[0])
         self.assertIn("Settings written to".format(settings_path), out[0])
@@ -264,6 +270,7 @@ print("BBPATH is {{}}".format(os.environ["BBPATH"]))
         # check that listing settings works
         out = self.runbbsetup("settings list")
         self.assertIn("default top-dir-prefix {}".format(self.tempdir), out[0])
+        self.assertIn("default top-dir-name {}".format(TOP_DIR_NAME), out[0])
         self.assertIn("default dl-dir {}".format(os.path.join(self.tempdir, 'downloads')), out[0])
         self.assertIn("default registry {}".format('git://{};protocol=file;branch=master;rev=master'.format(self.registrypath)), out[0])
 
@@ -307,7 +314,7 @@ print("BBPATH is {{}}".format(os.environ["BBPATH"]))
         for cf, v in test_configurations.items():
             for c in v['buildconfigs']:
                 out = self.runbbsetup("init --non-interactive {} {}".format(v['cmdline'], c))
-                setuppath = os.path.join(self.tempdir, 'bitbake-builds', '{}-{}'.format(cf, c))
+                setuppath = os.path.join(self.tempdir, TOP_DIR_NAME, '{}-{}'.format(cf, c))
                 self.check_setupdir_files(setuppath, test_file_content)
                 os.environ['BBPATH'] = os.path.join(setuppath, 'build')
                 out = self.runbbsetup("status")
@@ -329,7 +336,7 @@ print("BBPATH is {{}}".format(os.environ["BBPATH"]))
                   'gizmo-env-passthrough',
                   'gizmo-no-fragment',
                   'gadget-notemplate', 'gizmo-notemplate'):
-            setuppath = os.path.join(self.tempdir, 'bitbake-builds', 'test-config-1-{}'.format(c))
+            setuppath = os.path.join(self.tempdir, TOP_DIR_NAME, 'test-config-1-{}'.format(c))
             os.environ['BBPATH'] = os.path.join(setuppath, 'build')
             out = self.runbbsetup("status")
             self.assertIn("Layer repository file://{} checked out into {}/layers/test-repo updated revision master from".format(self.testrepopath, setuppath), out[0])
@@ -352,7 +359,7 @@ print("BBPATH is {{}}".format(os.environ["BBPATH"]))
                   'gizmo-env-passthrough',
                   'gizmo-no-fragment',
                   'gadget-notemplate', 'gizmo-notemplate'):
-            setuppath = os.path.join(self.tempdir, 'bitbake-builds', 'test-config-1-{}'.format(c))
+            setuppath = os.path.join(self.tempdir, TOP_DIR_NAME, 'test-config-1-{}'.format(c))
             os.environ['BBPATH'] = os.path.join(setuppath, 'build')
             out = self.runbbsetup("status")
             self.assertIn("Configuration in {} has changed:".format(setuppath), out[0])
