diff --git a/build/unification/images/BUILD.gn b/build/unification/images/BUILD.gn
index 11cf126..3d895b5 100644
--- a/build/unification/images/BUILD.gn
+++ b/build/unification/images/BUILD.gn
@@ -336,6 +336,7 @@
     ":test.sys.ddk-unittest-test",
     ":test.sys.default-stack-size-default-test",
     ":test.sys.default-stack-size-phdr-test",
+    ":test.sys.devcoordinator-namespace-test",
     ":test.sys.device-protocol-pci-test",
     ":test.sys.device-protocol-pdev-test",
     ":test.sys.disk-inspector-unit-test",
@@ -668,6 +669,7 @@
     ":test.sys.ddk-unittest-test",
     ":test.sys.default-stack-size-default-test",
     ":test.sys.default-stack-size-phdr-test",
+    ":test.sys.devcoordinator-namespace-test",
     ":test.sys.device-protocol-pci-test",
     ":test.sys.device-protocol-pdev-test",
     ":test.sys.disk-inspector-unit-test",
diff --git a/src/devices/driver_manager/fdio.cc b/src/devices/driver_manager/fdio.cc
index 3fa0fbe..136c5db 100644
--- a/src/devices/driver_manager/fdio.cc
+++ b/src/devices/driver_manager/fdio.cc
@@ -54,7 +54,9 @@
     { "/boot",      "boot",      FS_BOOT,     FdioAction::CloneDir },
     { "/data",      "data",      FS_DATA,     FdioAction::CloneDir },
     { "/dev",       "dev",       FS_DEV,      FdioAction::AddNsEntry },
-    { "/hub",       "hub",       FS_HUB,      FdioAction::CloneDir },
+    // TODO(dgonyeo): add this path back in once the appmgr component doesn't
+    // exist on bringup builds
+    //{ "/hub",       "hub",       FS_HUB,      FdioAction::CloneDir },
     { "/install",   "install",   FS_INSTALL,  FdioAction::CloneDir },
     { "/pkgfs",     "pkgfs",     FS_PKGFS,    FdioAction::CloneDir },
     { "/svc",       "svc",       FS_SVC,      FdioAction::AddNsEntry },
diff --git a/zircon/system/utest/BUILD.gn b/zircon/system/utest/BUILD.gn
index fe1bd51..d436fa7 100644
--- a/zircon/system/utest/BUILD.gn
+++ b/zircon/system/utest/BUILD.gn
@@ -23,8 +23,8 @@
       "$zx/system/core/devmgr/fshost:block-watcher-test",
       "$zx/system/core/devmgr/fshost:fshost-metrics-test",
       "$zx/system/core/devmgr/fshost:fshost-test",
-      "$zx/system/core/netsvc:netsvc-test",
       "$zx/system/core/netsvc:netsvc-stress-test",
+      "$zx/system/core/netsvc:netsvc-test",
       "$zx/system/core/ptysvc:ptysvc-test",
       "$zx/system/core/svchost:crashsvc-test",
       "$zx/system/dev/audio/codecs/max98373:max98373-test",
@@ -121,6 +121,7 @@
       "blobfs-bench",
       "channel-fatal",
       "core",
+      "devcoordinator-namespace",
       "dlfcn",
       "fidl",
       "fidl-coding-tables",
diff --git a/zircon/system/utest/devcoordinator-namespace/BUILD.gn b/zircon/system/utest/devcoordinator-namespace/BUILD.gn
new file mode 100644
index 0000000..89bd3df
--- /dev/null
+++ b/zircon/system/utest/devcoordinator-namespace/BUILD.gn
@@ -0,0 +1,11 @@
+# Copyright 2020 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+zx_test("devcoordinator-namespace") {
+  sources = [ "namespace_test.cc" ]
+  deps = [
+    "$zx/system/ulib/fdio",
+    "$zx/system/ulib/zxtest",
+  ]
+}
diff --git a/zircon/system/utest/devcoordinator-namespace/namespace_test.cc b/zircon/system/utest/devcoordinator-namespace/namespace_test.cc
new file mode 100644
index 0000000..cdd7666
--- /dev/null
+++ b/zircon/system/utest/devcoordinator-namespace/namespace_test.cc
@@ -0,0 +1,40 @@
+// Copyright 2020 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <dirent.h>
+#include <lib/fdio/directory.h>
+
+#include <string>
+#include <vector>
+
+#include <fbl/string_printf.h>
+#include <zxtest/zxtest.h>
+
+std::vector<std::string> list_dir_contents(const char* name) {
+  std::vector<std::string> res;
+
+  DIR* dir;
+  struct dirent* ent;
+  if ((dir = opendir(name)) != NULL) {
+    /* print all the files and directories within directory */
+    while ((ent = readdir(dir)) != NULL) {
+      res.push_back(std::string(ent->d_name));
+    }
+    closedir(dir);
+  }
+
+  return res;
+}
+
+TEST(NamespaceTest, Test) {
+  // For each directory in the root directory, let's make sure that it actually
+  // goes somewhere. We're testing that the handle has something responding at
+  // the other side, not that it goes somewhere valid, so it's fine if we get an
+  // error while using it.
+  auto top_level_dir_names = list_dir_contents("/");
+  for (const auto& name : top_level_dir_names) {
+    fbl::String sub_dir_name = fbl::StringPrintf("/%s", name.c_str());
+    auto dir_contents = list_dir_contents(sub_dir_name.c_str());
+  }
+}
