diff --git a/gstlal-inspiral/bin/gstlal_inspiral_plot_rankingstats_horizon b/gstlal-inspiral/bin/gstlal_inspiral_plot_rankingstats_horizon
index 8cab59591f80020dc17c0ec442fb591be531116f..1e22e0263b456e7c317c4c7758a788c2136c46a8 100755
--- a/gstlal-inspiral/bin/gstlal_inspiral_plot_rankingstats_horizon
+++ b/gstlal-inspiral/bin/gstlal_inspiral_plot_rankingstats_horizon
@@ -63,12 +63,21 @@ for f in files:
 		urls.append(f)
 
 outdir = Path(options.outdir)
+tasks = {}
+gmaxh = -1e32
 for key, group in groupby(sorted(urls, key = lambda x: CacheEntry.from_T050017(x).description), lambda x: CacheEntry.from_T050017(x).description):
 	rankfiles = list(group)
 	ce = CacheEntry.from_T050017(rankfiles[0])
+	title = f"Horizon Distance for Bin {ce.description.replace('_MARG_DIST_STATS', '')}"
 	desc = ce.description.replace('MARG_DIST_STATS', 'HORIZON')
 	start = ce.segment[0]
 	duration = ce.segment[1] - ce.segment[0]
 	output = outdir / f"{ce.observatory}-{desc}-{start}-{duration}.{options.format}"
 	horizon_distance = horizon.HorizonDistance.from_rankingstats(rankfiles, verbose = options.verbose)
-	horizon_distance.savefig(output, options.fig_size)
+	tasks[horizon_distance] = [output, title]
+	# update global max horizon distance
+	gmaxh = max(horizon_distance.max, gmaxh)
+
+# save figure
+for horizon_distance, args in tasks.items():
+	horizon_distance.savefig(args[0], figsize = options.fig_size, limits = [0.001, gmaxh*1.05], title = args[1])