--- old/src/share/classes/java/util/Random.java Thu Jun 16 12:14:06 2011 +++ new/src/share/classes/java/util/Random.java Thu Jun 16 12:14:06 2011 @@ -118,7 +118,13 @@ * @see #setSeed(long) */ public Random(long seed) { - this.seed = new AtomicLong(initialScramble(seed)); + if (getClass() == Random.class) + this.seed = new AtomicLong(initialScramble(seed)); + else { + // subclass might have overriden setSeed + this.seed = new AtomicLong(); + setSeed(seed); + } } private static long initialScramble(long seed) {