diff --git a/zircon/system/utest/bitmap/BUILD.gn b/zircon/system/ulib/bitmap/test/BUILD.gn
similarity index 86%
rename from zircon/system/utest/bitmap/BUILD.gn
rename to zircon/system/ulib/bitmap/test/BUILD.gn
index 2df2dc7dff6a85aba84eafc9ac657bb5940cfbc0..7e70eac495ab186e177696448641c73eab388df4 100644
--- a/zircon/system/utest/bitmap/BUILD.gn
+++ b/zircon/system/ulib/bitmap/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 = [
+    ":bitmap",
+  ]
+}
+
 test("bitmap") {
   sources = [
     "raw-bitmap-tests.cpp",
diff --git a/zircon/system/utest/bitmap/raw-bitmap-tests.cpp b/zircon/system/ulib/bitmap/test/raw-bitmap-tests.cpp
similarity index 100%
rename from zircon/system/utest/bitmap/raw-bitmap-tests.cpp
rename to zircon/system/ulib/bitmap/test/raw-bitmap-tests.cpp
diff --git a/zircon/system/utest/bitmap/rle-bitmap-tests.cpp b/zircon/system/ulib/bitmap/test/rle-bitmap-tests.cpp
similarity index 100%
rename from zircon/system/utest/bitmap/rle-bitmap-tests.cpp
rename to zircon/system/ulib/bitmap/test/rle-bitmap-tests.cpp
diff --git a/zircon/system/utest/BUILD.gn b/zircon/system/utest/BUILD.gn
index d3c8bac469f62dfe4183da769fdca30fa5aa3316..bad8c778799c8ab7b62d86e6f34fac5e3fe6ad59 100644
--- a/zircon/system/utest/BUILD.gn
+++ b/zircon/system/utest/BUILD.gn
@@ -60,6 +60,7 @@ if (current_cpu != "") {
       "$zx/system/uapp/nand-util:nand-util-test",
       "$zx/system/ulib/async/test",
       "$zx/system/ulib/async-loop/test",
+      "$zx/system/ulib/bitmap/test",
       "$zx/system/ulib/blobfs/test",
       "$zx/system/ulib/bootfs:bootfs-test",
       "$zx/system/ulib/c:tests",
@@ -92,7 +93,6 @@ if (current_cpu != "") {
       "async-testutils",
       "backtrace-request",
       "biotime",
-      "bitmap",
       "blobfs",
       "blobfs-bench",
       "channel-fatal",