diff --git a/tests/daemon/mgmt/face-manager-create-face.t.cpp b/tests/daemon/mgmt/face-manager-create-face.t.cpp
index 8f789c6..31c4bf1 100644
--- a/tests/daemon/mgmt/face-manager-create-face.t.cpp
+++ b/tests/daemon/mgmt/face-manager-create-face.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2024,  Regents of the University of California,
+ * Copyright (c) 2014-2025,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -332,7 +332,7 @@
   using FaceType = boost::mp11::mp_first<T>;
   using CreateResult = boost::mp11::mp_second<T>;
 
-  Interest req = makeControlCommandRequest("/localhost/nfd/faces/create", FaceType::getParameters());
+  Interest req = makeControlCommandRequest(this->CREATE_REQUEST, FaceType::getParameters());
 
   bool hasCallbackFired = false;
   this->node1.face.onSendData.connect([this, req, &hasCallbackFired] (const Data& response) {
@@ -417,7 +417,7 @@
   });
 
   this->node1.face.receive(req);
-  this->advanceClocks(1_ms, 5);
+  this->advanceClocks(1_ms, 10);
 
   BOOST_CHECK(hasCallbackFired);
 }
@@ -428,9 +428,9 @@
 
   {
     // create face
-    Interest req = makeControlCommandRequest("/localhost/nfd/faces/create", FaceType::getParameters());
+    Interest req = makeControlCommandRequest(CREATE_REQUEST, FaceType::getParameters());
     this->node1.face.receive(req);
-    this->advanceClocks(1_ms, 5);
+    this->advanceClocks(1_ms, 10);
   }
 
   // find the created face
@@ -439,7 +439,7 @@
 
   {
     // re-create face
-    Interest req = makeControlCommandRequest("/localhost/nfd/faces/create", FaceType::getParameters());
+    Interest req = makeControlCommandRequest(CREATE_REQUEST, FaceType::getParameters());
 
     bool hasCallbackFired = false;
     this->node1.face.onSendData.connect(
@@ -465,7 +465,7 @@
       });
 
     this->node1.face.receive(req);
-    this->advanceClocks(1_ms, 5);
+    this->advanceClocks(1_ms, 10);
 
     BOOST_CHECK(hasCallbackFired);
   }
