diff --git a/networking/traceroute.c b/networking/traceroute.c
index c1eb2d9..2f4d6bb 100644
--- a/networking/traceroute.c
+++ b/networking/traceroute.c
@@ -602,12 +602,15 @@
 
 	return ttab[t];
 }
-static void
-hexdump(const struct icmp *icp, int len)
+static int
+hexdump_if_verbose(const struct icmp *icp, int len)
 {
 	const unsigned char *p;
 	int i;
 
+	if (!verbose)
+		return 0;
+
 	printf("\n%d bytes from %s to %s: icmp type %u (%s) code %u\n",
 		len,
 		auto_string(xmalloc_sockaddr2dotted_noport(&G.from_lsa->u.sa)),
@@ -622,9 +625,10 @@
 		printf(" %02x", p[i]);
 	}
 	bb_putchar('\n');
+	return 0;
 }
 #else
-# define hexdump(...) ((void)0)
+# define hexdump_if_verbose(...) 0
 #endif
 
 static int
@@ -704,9 +708,8 @@
 			}
 		}
 	}
-	if (verbose) /* testcase: traceroute -vI 127.0.0.1 (sees its own echo requests) */
-		hexdump(icp, read_len);
-	return 0;
+	/* testcase: traceroute -vI 127.0.0.1 (sees its own echo requests) */
+	return hexdump_if_verbose(icp, read_len);
 }
 
 #if ENABLE_TRACEROUTE6
@@ -767,10 +770,8 @@
 			}
 		}
 	}
-	if (verbose)
-		/* cast is safe since the beginning of icmp4 and icmp6 layouts match */
-		hexdump((const struct icmp *)icp, read_len);
-	return 0;
+	/* cast is safe since the beginning of icmp4 and icmp6 layouts match */
+	return hexdump_if_verbose((const struct icmp *)icp, read_len);
 }
 
 static int
