diff --git a/tools/VisualBench/VisualBenchmarkStream.cpp b/tools/VisualBench/VisualBenchmarkStream.cpp
index c520eee..49bafbf 100644
--- a/tools/VisualBench/VisualBenchmarkStream.cpp
+++ b/tools/VisualBench/VisualBenchmarkStream.cpp
@@ -74,6 +74,9 @@
             }
         }
     }
+
+    // seed with an initial benchmark
+    this->next();
 }
 
 bool VisualBenchmarkStream::ReadPicture(const char* path, SkAutoTUnref<SkPicture>* pic) {
@@ -98,23 +101,24 @@
 }
 
 Benchmark* VisualBenchmarkStream::next() {
+    Benchmark* bench;
     if (!fIsWarmedUp) {
         fIsWarmedUp = true;
-        return new WarmupBench;
+        bench = new WarmupBench;
+    } else {
+        // skips non matching benches
+        while ((bench = this->innerNext()) &&
+               (SkCommandLineFlags::ShouldSkip(FLAGS_match, bench->getUniqueName()) ||
+                !bench->isSuitableFor(Benchmark::kGPU_Backend))) {
+            bench->unref();
+        }
+    }
+    if (bench && FLAGS_cpu) {
+        bench = new CpuWrappedBenchmark(bench);
     }
 
-    Benchmark* bench;
-
-    // skips non matching benches
-    while ((bench = this->innerNext()) &&
-           (SkCommandLineFlags::ShouldSkip(FLAGS_match, bench->getUniqueName()) ||
-            !bench->isSuitableFor(Benchmark::kGPU_Backend))) {
-        bench->unref();
-    }
-    if (FLAGS_cpu) {
-        return new CpuWrappedBenchmark(bench);
-    }
-    return bench;
+    fBenchmark.reset(bench);
+    return fBenchmark;
 }
 
 Benchmark* VisualBenchmarkStream::innerNext() {
