diff --git a/tests/dlfcn_test.cpp b/tests/dlfcn_test.cpp
index fb3bfc5..bb9d8c0 100644
--- a/tests/dlfcn_test.cpp
+++ b/tests/dlfcn_test.cpp
@@ -145,7 +145,7 @@
   // in both dt_needed libraries, the correct relocation should
   // use the function defined in libtest_relo_check_dt_needed_order_1.so
   void* handle = nullptr;
-  auto guard = create_scope_guard([&]() {
+  auto guard = make_scope_guard([&]() {
     dlclose(handle);
   });
 
diff --git a/tests/math_test.cpp b/tests/math_test.cpp
index ad4654e..2203db9 100644
--- a/tests/math_test.cpp
+++ b/tests/math_test.cpp
@@ -762,7 +762,7 @@
 }
 
 TEST(math, lrint) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
 
@@ -786,7 +786,7 @@
 }
 
 TEST(math, rint) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
 
@@ -816,7 +816,7 @@
 }
 
 TEST(math, nearbyint) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
   fesetround(FE_UPWARD); // nearbyint/nearbyintf/nearbyintl obey the rounding mode.
@@ -845,7 +845,7 @@
 }
 
 TEST(math, lround) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
   fesetround(FE_UPWARD); // lround ignores the rounding mode.
@@ -855,7 +855,7 @@
 }
 
 TEST(math, llround) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
   fesetround(FE_UPWARD); // llround ignores the rounding mode.
@@ -952,7 +952,7 @@
 }
 
 TEST(math, round) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
   fesetround(FE_TOWARDZERO); // round ignores the rounding mode and always rounds away from zero.
@@ -965,7 +965,7 @@
 }
 
 TEST(math, roundf) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
   fesetround(FE_TOWARDZERO); // roundf ignores the rounding mode and always rounds away from zero.
@@ -978,7 +978,7 @@
 }
 
 TEST(math, roundl) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
   fesetround(FE_TOWARDZERO); // roundl ignores the rounding mode and always rounds away from zero.
@@ -991,7 +991,7 @@
 }
 
 TEST(math, trunc) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
   fesetround(FE_UPWARD); // trunc ignores the rounding mode and always rounds toward zero.
@@ -1004,7 +1004,7 @@
 }
 
 TEST(math, truncf) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
   fesetround(FE_UPWARD); // truncf ignores the rounding mode and always rounds toward zero.
@@ -1017,7 +1017,7 @@
 }
 
 TEST(math, truncl) {
-  auto guard = create_scope_guard([]() {
+  auto guard = make_scope_guard([]() {
     fesetenv(FE_DFL_ENV);
   });
   fesetround(FE_UPWARD); // truncl ignores the rounding mode and always rounds toward zero.
diff --git a/tests/pthread_test.cpp b/tests/pthread_test.cpp
index 4a7c6bd..32bb54c 100644
--- a/tests/pthread_test.cpp
+++ b/tests/pthread_test.cpp
@@ -869,7 +869,7 @@
 #endif
   EXPECT_EQ(rl.rlim_cur, stack_size);
 
-  auto guard = create_scope_guard([&rl, original_rlim_cur]() {
+  auto guard = make_scope_guard([&rl, original_rlim_cur]() {
     rl.rlim_cur = original_rlim_cur;
     ASSERT_EQ(0, setrlimit(RLIMIT_STACK, &rl));
   });
