diff --git a/main/stasis.c b/main/stasis.c
index 4ce70523320f66410058fb35cd0c86136f20ecfa..e8ce0c7fd1bd5d209f3480502bf6aa5d1996b263 100644
--- a/main/stasis.c
+++ b/main/stasis.c
@@ -2369,6 +2369,7 @@ static char *stasis_show_topic(struct ast_cli_entry *e, int cmd, struct ast_cli_
 {
 	struct stasis_topic *topic;
 	char print_time[32];
+	int i;
 
 	switch (cmd) {
 	case CLI_INIT:
@@ -2402,6 +2403,21 @@ static char *stasis_show_topic(struct ast_cli_entry *e, int cmd, struct ast_cli_
 	ast_format_duration_hh_mm_ss(ast_tvnow().tv_sec - topic->creationtime->tv_sec, print_time, sizeof(print_time));
 	ast_cli(a->fd, "Duration time: %s\n", print_time);
 
+	ao2_lock(topic);
+	ast_cli(a->fd, "\nSubscribers:\n");
+	for (i = 0; i < AST_VECTOR_SIZE(&topic->subscribers); i++) {
+		struct stasis_subscription *subscription_tmp = AST_VECTOR_GET(&topic->subscribers, i);
+		ast_cli(a->fd, "  UniqueID: %s, Topic: %s, Detail: %s\n",
+				subscription_tmp->uniqueid, subscription_tmp->topic->name, subscription_tmp->topic->detail);
+	}
+
+	ast_cli(a->fd, "\nForwarded topics:\n");
+	for (i = 0; i < AST_VECTOR_SIZE(&topic->upstream_topics); i++) {
+		struct stasis_topic *topic_tmp = AST_VECTOR_GET(&topic->upstream_topics, i);
+		ast_cli(a->fd, "  Topic: %s, Detail: %s\n", topic_tmp->name, topic_tmp->detail);
+	}
+	ao2_unlock(topic);
+
 	ao2_ref(topic, -1);
 
 	return CLI_SUCCESS;