--- jsr166/src/jsr166y/Phaser.java 2010/11/13 00:55:51 1.51 +++ jsr166/src/jsr166y/Phaser.java 2010/11/13 01:27:13 1.52 @@ -880,7 +880,7 @@ public class Phaser { if (!node.interruptible && node.wasInterrupted) Thread.currentThread().interrupt(); } - if (p == phase && parent != null) + if (p == phase) p = (int)(reconcileState() >>> PHASE_SHIFT); if (p != phase) releaseWaiters(phase);