diff --git a/ccan/likely/_info b/ccan/likely/_info
index 252169b362c8bf21ef9e21530df1b58db8e983d8..ac43cc2b1a943702c80844f01ffbdb1c5079a751 100644
--- a/ccan/likely/_info
+++ b/ccan/likely/_info
@@ -9,6 +9,9 @@
  * help you annotate rare paths in your code for the convenience of the
  * compiler and the reader.
  *
+ * With CCAN_LIKELY_DEBUG defined, it provides statistics for each
+ * likely()/unlikely() call.
+ *
  * License: LGPL (v2.1 or any later version)
  * Author: Rusty Russell <rusty@rustcorp.com.au>
  *
@@ -35,11 +38,20 @@ int main(int argc, char *argv[])
 		return 1;
 
 	if (strcmp(argv[1], "depends") == 0) {
+#ifdef CCAN_LIKELY_DEBUG
 		printf("ccan/str\n");
 		printf("ccan/htable\n");
 		printf("ccan/hash\n");
+#endif
+		return 0;
+	}
+	if (strcmp(argv[1], "testdepends") == 0) {
+#ifndef CCAN_LIKELY_DEBUG
+		printf("ccan/str\n");
+		printf("ccan/htable\n");
+		printf("ccan/hash\n");
+#endif
 		return 0;
 	}
-
 	return 1;
 }
diff --git a/ccan/likely/likely.h b/ccan/likely/likely.h
index 410772dbde78a37ec99c64261758961ae2f2821b..8683a2c94782104153ebe98f976eac38d61e45ba 100644
--- a/ccan/likely/likely.h
+++ b/ccan/likely/likely.h
@@ -2,7 +2,6 @@
 #ifndef CCAN_LIKELY_H
 #define CCAN_LIKELY_H
 #include "config.h"
-#include <ccan/str/str.h>
 #include <stdbool.h>
 
 #ifndef CCAN_LIKELY_DEBUG
@@ -57,6 +56,8 @@
 #define unlikely(cond) (!!(cond))
 #endif
 #else /* CCAN_LIKELY_DEBUG versions */
+#include <ccan/str/str.h>
+
 #define likely(cond) \
 	(_likely_trace(!!(cond), 1, stringify(cond), __FILE__, __LINE__))
 #define unlikely(cond) \
@@ -65,9 +66,6 @@
 long _likely_trace(bool cond, bool expect,
 		   const char *condstr,
 		   const char *file, unsigned int line);
-#endif
-
-#ifdef CCAN_LIKELY_DEBUG
 /**
  * likely_stats - return description of abused likely()/unlikely()
  * @min_hits: minimum number of hits
diff --git a/ccan/likely/test/run-debug.c b/ccan/likely/test/run-debug.c
index afb21e2be2fd1fd966df24d6e0cf80228cafc38b..83f22afab2bf622141ebb4330af9c88e9de96c4f 100644
--- a/ccan/likely/test/run-debug.c
+++ b/ccan/likely/test/run-debug.c
@@ -98,3 +98,8 @@ int main(int argc, char *argv[])
 
 	exit(exit_status());
 }
+
+/* Fools ccanlint: it doesn't think we use str, htable or hash. */
+#include <ccan/hash/hash.h>
+#include <ccan/htable/htable.h>
+#include <ccan/str/str.h>