diff --git a/bench/HairlinePathBench.cpp b/bench/HairlinePathBench.cpp
index f5b30a3..ca3797b 100644
--- a/bench/HairlinePathBench.cpp
+++ b/bench/HairlinePathBench.cpp
@@ -85,7 +85,7 @@
         name->append("line");
     }
     virtual void makePath(SkPath* path) SK_OVERRIDE {
-        SkRandom rand;
+        SkMWCRandom rand;
         int size = SK_ARRAY_COUNT(points);
         int hSize = size / 2;
         for (int i = 0; i < kMaxPathSize; ++i) {
@@ -117,7 +117,7 @@
         name->append("quad");
     }
     virtual void makePath(SkPath* path) SK_OVERRIDE {
-        SkRandom rand;
+        SkMWCRandom rand;
         int size = SK_ARRAY_COUNT(points);
         int hSize = size / 2;
         for (int i = 0; i < kMaxPathSize; ++i) {
@@ -149,8 +149,8 @@
         name->append("conic");
     }
     virtual void makePath(SkPath* path) SK_OVERRIDE {
-        SkRandom rand;
-        SkRandom randWeight;
+        SkMWCRandom rand;
+        SkMWCRandom randWeight;
         int size = SK_ARRAY_COUNT(points);
         int hSize = size / 2;
         for (int i = 0; i < kMaxPathSize; ++i) {
@@ -184,7 +184,7 @@
         name->append("cubic");
     }
     virtual void makePath(SkPath* path) SK_OVERRIDE {
-        SkRandom rand;
+        SkMWCRandom rand;
         int size = SK_ARRAY_COUNT(points);
         int hSize = size / 2;
         for (int i = 0; i < kMaxPathSize; ++i) {
