diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 4f4b781c..92e1e47f 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,17 +1,9 @@
 include(FetchContent)
 
-FetchContent_Declare(
-  ut
-  GIT_REPOSITORY https://github.com/openalgz/ut
-  GIT_TAG v1.2.1
-  GIT_SHALLOW TRUE
-)
+find_package(ut2-glaze REQUIRED)
 
 message(STATUS "Fetching dependencies...")
 set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE)
-set(CMAKE_SKIP_INSTALL_RULES ON CACHE BOOL "" FORCE)
-FetchContent_MakeAvailable(ut)
-set(CMAKE_SKIP_INSTALL_RULES OFF CACHE BOOL "" FORCE)
 set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL FALSE)
 message(STATUS "...finished fetching dependencies.")
 
@@ -33,7 +25,7 @@ option(glaze_ENABLE_SANITIZERS "Enable AddressSanitizer and UndefinedBehaviorSan
 
 add_library(glz_test_common INTERFACE)
 target_compile_features(glz_test_common INTERFACE cxx_std_23)
-target_link_libraries(glz_test_common INTERFACE ut::ut glaze::glaze glaze::asio)
+target_link_libraries(glz_test_common INTERFACE ut2-glaze::ut2-glaze glaze::glaze glaze::asio)
 # scratch_directory.hpp, included by the suites that write files to isolate themselves
 target_include_directories(glz_test_common INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
 
@@ -59,7 +51,7 @@ endif()
 
 add_library(glz_test_exceptions INTERFACE)
 target_compile_features(glz_test_exceptions INTERFACE cxx_std_23)
-target_link_libraries(glz_test_exceptions INTERFACE ut::ut glaze::glaze glaze::asio)
+target_link_libraries(glz_test_exceptions INTERFACE ut2-glaze::ut2-glaze glaze::glaze glaze::asio)
 target_include_directories(glz_test_exceptions INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
 if(MSVC)
     target_compile_options(glz_test_exceptions INTERFACE /GR- /bigobj)

