diff -r 3f7be5f312ae -r 11a42d91eb56 jdk/src/share/classes/java/util/Collections.java --- a/jdk/src/share/classes/java/util/Collections.java Thu Jun 10 15:54:25 2010 -0700 +++ b/jdk/src/share/classes/java/util/Collections.java Thu Jun 10 15:55:26 2010 -0700 @@ -463,10 +463,10 @@ * its list-iterator does not support the set operation. */ public static void shuffle(List list) { - if (r == null) { - r = new Random(); - } - shuffle(list, r); + Random rnd = r; + if (rnd == null) + r = rnd = new Random(); + shuffle(list, rnd); } private static Random r;