diff --git a/tests/unit-tests/mgmt/dispatcher.t.cpp b/tests/unit-tests/mgmt/dispatcher.t.cpp
index 050b927..940df6d 100644
--- a/tests/unit-tests/mgmt/dispatcher.t.cpp
+++ b/tests/unit-tests/mgmt/dispatcher.t.cpp
@@ -38,7 +38,8 @@
 
 using namespace ndn::tests;
 
-BOOST_AUTO_TEST_SUITE(MgmtDispatcher)
+BOOST_AUTO_TEST_SUITE(Mgmt)
+BOOST_AUTO_TEST_SUITE(TestDispatcher)
 
 class DispatcherFixture : public UnitTestTimeFixture
                         , public security::IdentityManagementFixture
@@ -255,7 +256,7 @@
   dispatcher.addStatusDataset("test/small",
                               makeTestAuthorization(),
                               [] (const Name& prefix, const Interest& interest,
-                                  StatusDatasetContext context) {
+                                  StatusDatasetContext& context) {
                                 context.append(smallBlock);
                                 context.append(smallBlock);
                                 context.append(smallBlock);
@@ -265,7 +266,7 @@
   dispatcher.addStatusDataset("test/large",
                               makeTestAuthorization(),
                               [] (const Name& prefix, const Interest& interest,
-                                  StatusDatasetContext context) {
+                                  StatusDatasetContext& context) {
                                 context.append(largeBlock);
                                 context.append(largeBlock);
                                 context.append(largeBlock);
@@ -275,7 +276,7 @@
   dispatcher.addStatusDataset("test/reject",
                               makeTestAuthorization(),
                               [] (const Name& prefix, const Interest& interest,
-                                  StatusDatasetContext context) {
+                                  StatusDatasetContext& context) {
                                 context.reject();
                               });
 
@@ -380,6 +381,7 @@
 }
 
 BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
 } // namespace mgmt
