diff --git a/benchseries/benchseries.go b/benchseries/benchseries.go
index 686a4a2..d5a4ed6 100644
--- a/benchseries/benchseries.go
+++ b/benchseries/benchseries.go
@@ -6,7 +6,6 @@
 
 import (
 	"fmt"
-	"io"
 	"math"
 	"math/rand"
 	"os"
@@ -887,7 +886,7 @@
 // confidence interval) for the comparison series cs.  The 3rd parameter N specifies
 // the number of sampled bootstraps to use; 1000 is recommended, but 500 is good enough
 // for testing.
-func (cs *ComparisonSeries) AddSummaries(out io.Writer, confidence float64, N int) {
+func (cs *ComparisonSeries) AddSummaries(confidence float64, N int) {
 	fn := withBootstrap(confidence, N)
 	var tab [][]*ComparisonSummary
 	for _, s := range cs.Series {
diff --git a/cmd/benchseries/main.go b/cmd/benchseries/main.go
index b8e787b..2337e50 100644
--- a/cmd/benchseries/main.go
+++ b/cmd/benchseries/main.go
@@ -137,7 +137,7 @@
 
 	// Bootstrap and add (missing, if some already supplied by JSON) summaries.
 	for _, c := range comparisons {
-		c.AddSummaries(os.Stdout, confidence, 1000)
+		c.AddSummaries(confidence, 1000)
 	}
 
 	// Generate some output.  Options include CSV, JSON, PNG, perhaps also PDF and SVG.
diff --git a/cmd/benchseries/main_test.go b/cmd/benchseries/main_test.go
index 2cd3e47..529a51a 100644
--- a/cmd/benchseries/main_test.go
+++ b/cmd/benchseries/main_test.go
@@ -142,7 +142,7 @@
 	comparisons = builder.AllComparisonSeries(comparisons, benchseries.DUPE_REPLACE)
 
 	for _, c := range comparisons {
-		c.AddSummaries(os.Stdout, 0.95, 500) // 500 is faster than 1000.
+		c.AddSummaries(0.95, 500) // 500 is faster than 1000.
 	}
 
 	return comparisons
