diff --git a/include/types/applet.h b/include/types/applet.h
index bf801f4..eb15456 100644
--- a/include/types/applet.h
+++ b/include/types/applet.h
@@ -136,6 +136,9 @@
 			struct server *sv;	/* current server being dumped, NULL = not started yet. */
 		} server_state;
 		struct {
+			struct proxy *px;	/* current proxy being dumped, NULL = not started yet. */
+		} be;				/* used by "show backends" command */
+		struct {
 			char **var;
 		} env;
 	} ctx;					/* used by stats I/O handlers to dump the stats */
diff --git a/src/dumpstats.c b/src/dumpstats.c
index a6d021b..4f0c438 100644
--- a/src/dumpstats.c
+++ b/src/dumpstats.c
@@ -1304,6 +1304,7 @@
 	appctx->ctx.stats.flags = 0;
 	if (strcmp(args[0], "show") == 0) {
 		if (strcmp(args[1], "backend") == 0) {
+			appctx->ctx.be.px = NULL;
 			appctx->st2 = STAT_ST_INIT;
 			appctx->st0 = STAT_CLI_O_BACKEND;
 		}
@@ -3117,13 +3118,24 @@
 /* Parses backend list and simply report backend names */
 static int stats_dump_backend_to_buffer(struct stream_interface *si)
 {
+	struct appctx *appctx = __objt_appctx(si->end);
 	extern struct proxy *proxy;
 	struct proxy *curproxy;
 
 	chunk_reset(&trash);
-	chunk_printf(&trash, "# name\n");
 
-	for (curproxy = proxy; curproxy != NULL; curproxy = curproxy->next) {
+	if (!appctx->ctx.be.px) {
+		chunk_printf(&trash, "# name\n");
+		if (bi_putchk(si_ic(si), &trash) == -1) {
+			si_applet_cant_put(si);
+			return 0;
+		}
+		appctx->ctx.be.px = proxy;
+	}
+
+	for (; appctx->ctx.be.px != NULL; appctx->ctx.be.px = curproxy->next) {
+		curproxy = appctx->ctx.be.px;
+
 		/* looking for backends only */
 		if (!(curproxy->cap & PR_CAP_BE))
 			continue;
@@ -3133,11 +3145,10 @@
 			continue;
 
 		chunk_appendf(&trash, "%s\n", curproxy->id);
-	}
-
-	if (bi_putchk(si_ic(si), &trash) == -1) {
-		si_applet_cant_put(si);
-		return 0;
+		if (bi_putchk(si_ic(si), &trash) == -1) {
+			si_applet_cant_put(si);
+			return 0;
+		}
 	}
 
 	return 1;
