diff --git a/Dockerfile b/Dockerfile
index a6ce73e..9df2752 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -23,7 +23,7 @@
     mkdir -p /deps/debian
     touch /deps/debian/control
     cd /deps
-    for binary in ndn-dissect ndndump ndnget ndnpeek ndnpoke ndnping ndnpingserver ndnserve; do
+    for binary in ndndissect ndndump ndnget ndnpeek ndnpoke ndnping ndnpingserver ndnserve; do
         dpkg-shlibdeps --ignore-missing-info "/usr/bin/${binary}" -O \
             | sed -n 's|^shlibs:Depends=||p' | sed 's| ([^)]*),\?||g' > "${binary}"
     done
@@ -32,7 +32,7 @@
 
 FROM ghcr.io/named-data/ndn-cxx-runtime:${NDN_CXX_VERSION} AS ndn-tools
 
-COPY --link --from=build /usr/bin/ndn-dissect /usr/bin/
+COPY --link --from=build /usr/bin/ndndissect /usr/bin/
 COPY --link --from=build /usr/bin/ndndump /usr/bin/
 COPY --link --from=build /usr/bin/ndnget /usr/bin/
 COPY --link --from=build /usr/bin/ndnpeek /usr/bin/
diff --git a/README.md b/README.md
index db379af..ab46e93 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@
   between a consumer and a producer
 * [**ndnping**](tools/ping): test reachability between two NDN nodes
 * [**ndndump**](tools/dump): capture and analyze live traffic on an NDN network
-* [**ndn-dissect**](tools/dissect): inspect the TLV structure of an NDN packet
+* [**ndndissect**](tools/dissect): inspect the TLV structure of an NDN packet
 * [**dissect-wireshark**](tools/dissect-wireshark): Wireshark extension to inspect
   the TLV structure of NDN packets
 
diff --git a/manpages/conf.py b/manpages/conf.py
index 95c4f8d..d707354 100644
--- a/manpages/conf.py
+++ b/manpages/conf.py
@@ -29,7 +29,6 @@
 needs_sphinx = '4.0'
 extensions = []
 
-templates_path = ['_templates']
 exclude_patterns = ['Thumbs.db', '.DS_Store']
 
 
@@ -39,11 +38,11 @@
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
 man_pages = [
-    ('ndn-dissect',   'ndn-dissect',   'NDN packet format inspector',                [], 1),
-    ('ndndump',       'ndndump',       'traffic analysis tool',                      [], 8),
-    ('ndnpeek',       'ndnpeek',       'simple consumer to send one Interest and receive one Data', [], 1),
-    ('ndnpoke',       'ndnpoke',       'simple producer to publish one Data',        [], 1),
-    ('ndnping',       'ndnping',       'reachability testing client',                [], 1),
-    ('ndnpingserver', 'ndnpingserver', 'reachability testing server',                [], 1),
-    ('ndnserve',      'ndnserve',      'producer program with content segmentation', [], 1),
+    ('ndndissect',    'ndndissect',    'NDN packet format inspector',               [], 1),
+    ('ndndump',       'ndndump',       'NDN traffic analysis tool',                 [], 8),
+    ('ndnpeek',       'ndnpeek',       'simple NDN consumer to send one Interest and receive one Data', [], 1),
+    ('ndnpoke',       'ndnpoke',       'simple NDN producer to publish one Data',   [], 1),
+    ('ndnping',       'ndnping',       'NDN reachability testing client',           [], 1),
+    ('ndnpingserver', 'ndnpingserver', 'NDN reachability testing server',           [], 1),
+    ('ndnserve',      'ndnserve',      'NDN producer with content segmentation',    [], 1),
 ]
diff --git a/manpages/ndn-dissect.rst b/manpages/ndndissect.rst
similarity index 81%
rename from manpages/ndn-dissect.rst
rename to manpages/ndndissect.rst
index fbdb751..856d476 100644
--- a/manpages/ndn-dissect.rst
+++ b/manpages/ndndissect.rst
@@ -1,15 +1,15 @@
-ndn-dissect
-===========
+ndndissect
+==========
 
 Synopsis
 --------
 
-**ndn-dissect** [**-h**] [**-c**] [**-V**] [*file*]
+**ndndissect** [**-h**] [**-c**] [**-V**] [*file*]
 
 Description
 -----------
 
-:program:`ndn-dissect` is an NDN packet format inspector.
+:program:`ndndissect` is an NDN packet format inspector.
 It reads zero or more NDN packets from either an input file or the standard
 input, and displays the Type-Length-Value (TLV) structure of those packets
 on the standard output.
@@ -40,4 +40,4 @@
 
 Inspect the response to Interest ``/app1/video``::
 
-    ndnpeek /app1/video | ndn-dissect
+    ndnpeek /app1/video | ndndissect
diff --git a/tools/dissect/README.md b/tools/dissect/README.md
index 70d2458..10ef7fe 100644
--- a/tools/dissect/README.md
+++ b/tools/dissect/README.md
@@ -1,6 +1,6 @@
-# ndn-dissect
+# ndndissect
 
-**ndn-dissect** is an NDN packet format inspector.
+**ndndissect** is an NDN packet format inspector.
 It reads zero or more NDN packets from either an input file or the standard
 input, and displays the Type-Length-Value (TLV) structure of those packets
 on the standard output.
@@ -9,6 +9,6 @@
 
 1. start NFD on the local machine
 2. run `echo 'HELLO WORLD' | ndnpoke /localhost/demo/hello`
-3. on another console, run `ndnpeek /localhost/demo/hello | ndn-dissect`
+3. on another console, run `ndnpeek /localhost/demo/hello | ndndissect`
 
 For more information, consult the manpage.
diff --git a/tools/dissect/main.cpp b/tools/dissect/main.cpp
index b6bf6ba..705258f 100644
--- a/tools/dissect/main.cpp
+++ b/tools/dissect/main.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.
  *
  * This file is part of ndn-tools (Named Data Networking Essential Tools).
  * See AUTHORS.md for complete list of ndn-tools authors and contributors.
@@ -78,7 +78,7 @@
   }
 
   if (vm.count("version") > 0) {
-    std::cout << "ndn-dissect " << tools::VERSION << "\n";
+    std::cout << "ndndissect " << tools::VERSION << "\n";
     return 0;
   }
 
diff --git a/tools/dissect/wscript b/tools/dissect/wscript
index 80c6375..413652f 100644
--- a/tools/dissect/wscript
+++ b/tools/dissect/wscript
@@ -8,7 +8,10 @@
         use='core-objects')
 
     bld.program(
-        target='../../bin/ndn-dissect',
-        name='ndn-dissect',
+        target=f'{top}/bin/ndndissect',
+        name='ndndissect',
         source='main.cpp',
         use='dissect-objects')
+
+    # backward compatibility
+    bld.symlink_as('${BINDIR}/ndn-dissect', 'ndndissect')
