Index: modules/luni/src/test/java/tests/api/java/util/TimerTest.java =================================================================== --- modules/luni/src/test/java/tests/api/java/util/TimerTest.java (revision 424964) +++ modules/luni/src/test/java/tests/api/java/util/TimerTest.java (working copy) @@ -292,6 +292,8 @@ Timer t = null; try { t = new Timer(); + assertEquals(t.purge(), 0); + TimerTestTask[] tasks = new TimerTestTask[100]; int[] delayTime = { 50, 80, 20, 70, 40, 10, 90, 30, 60 }; Index: modules/luni/src/main/java/java/util/Timer.java =================================================================== --- modules/luni/src/main/java/java/util/Timer.java (revision 424964) +++ modules/luni/src/main/java/java/util/Timer.java (working copy) @@ -285,6 +285,9 @@ } public int purge() { + if(tasks.isEmpty()) { + return 0; + } // callers are synchronized tasks.deletedCancelledNumber = 0; tasks.root.deleteIfCancelled(tasks);