diff --git a/zircon/system/utest/zxio/BUILD.gn b/zircon/system/ulib/zxio/test/BUILD.gn
similarity index 88%
rename from zircon/system/utest/zxio/BUILD.gn
rename to zircon/system/ulib/zxio/test/BUILD.gn
index e2815f20b43675e6fd45a084921b5ff0c97e3dbb..2eed486a86d3c9f28cec04c31ad1af336de52d54 100644
--- a/zircon/system/utest/zxio/BUILD.gn
+++ b/zircon/system/ulib/zxio/test/BUILD.gn
@@ -2,6 +2,13 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+group("test") {
+  testonly = true
+  deps = [
+    ":zxio",
+  ]
+}
+
 test("zxio") {
   sources = [
     "null-test.cpp",
diff --git a/zircon/system/utest/zxio/null-test.cpp b/zircon/system/ulib/zxio/test/null-test.cpp
similarity index 100%
rename from zircon/system/utest/zxio/null-test.cpp
rename to zircon/system/ulib/zxio/test/null-test.cpp
diff --git a/zircon/system/utest/zxio/vmofile-test.cpp b/zircon/system/ulib/zxio/test/vmofile-test.cpp
similarity index 100%
rename from zircon/system/utest/zxio/vmofile-test.cpp
rename to zircon/system/ulib/zxio/test/vmofile-test.cpp
diff --git a/zircon/system/utest/zxio/zxio-test.cpp b/zircon/system/ulib/zxio/test/zxio-test.cpp
similarity index 100%
rename from zircon/system/utest/zxio/zxio-test.cpp
rename to zircon/system/ulib/zxio/test/zxio-test.cpp
diff --git a/zircon/system/utest/BUILD.gn b/zircon/system/utest/BUILD.gn
index c575196e31e71119356a6374d8ff4bd956d80255..d3c8bac469f62dfe4183da769fdca30fa5aa3316 100644
--- a/zircon/system/utest/BUILD.gn
+++ b/zircon/system/utest/BUILD.gn
@@ -86,6 +86,7 @@ if (current_cpu != "") {
       "$zx/system/ulib/trace-vthread:tests",
       "$zx/system/ulib/zbi-bootfs/test",
       "$zx/system/ulib/zx/test",
+      "$zx/system/ulib/zxio/test",
       "$zx/system/ulib/zxtest/test",
       "abigen",
       "async-testutils",
@@ -193,7 +194,6 @@ if (current_cpu != "") {
       "vmo",
       "zbi",
       "zxcrypt",
-      "zxio",
 
       # disabled for now:
       #"bad-kernel-access",