diff --git a/bench/RectoriBench.cpp b/bench/RectoriBench.cpp
index ee79ca9..87f5fee 100644
--- a/bench/RectoriBench.cpp
+++ b/bench/RectoriBench.cpp
@@ -71,7 +71,7 @@
     };
 
     SkLayerDrawLooper* createLooper(SkScalar xOff, SkScalar sigma) {
-        SkLayerDrawLooper* looper = new SkLayerDrawLooper;
+        SkLayerDrawLooper::Builder looperBuilder;
 
         //-----------------------------------------------
         SkLayerDrawLooper::LayerInfo info;
@@ -83,7 +83,7 @@
         info.fOffset.set(xOff, 0);
         info.fPostTranslate = false;
 
-        SkPaint* paint = looper->addLayer(info);
+        SkPaint* paint = looperBuilder.addLayer(info);
 
         SkMaskFilter* mf = SkBlurMaskFilter::Create(SkBlurMaskFilter::kNormal_BlurStyle,
                                                     sigma,
@@ -94,8 +94,8 @@
         info.fPaintBits = 0;
         info.fOffset.set(0, 0);
 
-        paint = looper->addLayer(info);
-        return looper;
+        paint = looperBuilder.addLayer(info);
+        return looperBuilder.detachLooper();
     }
 
     typedef SkBenchmark INHERITED;
