diff --git a/framework/src/test/java/org/apache/felix/framework/ServiceRegistryTest.java b/framework/src/test/java/org/apache/felix/framework/ServiceRegistryTest.java
index 143ff58..0ce9ea4 100644
--- a/framework/src/test/java/org/apache/felix/framework/ServiceRegistryTest.java
+++ b/framework/src/test/java/org/apache/felix/framework/ServiceRegistryTest.java
@@ -30,6 +30,7 @@
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import junit.framework.TestCase;
 
@@ -1052,15 +1053,18 @@
 
                     final class ObserverImpl implements Observer
                     {
-
+//                        private volatile int counter = 0;
+                        private final AtomicInteger counter = new AtomicInteger();
                         public volatile boolean active = true;
 
                         @Override
                         public void update(Observable o, Object arg)
                         {
+//                            counter++; // Not completely atomic, but that doesn't matter here.
+                            counter.incrementAndGet();
                             if ( !active )
                             {
-                                throw new IllegalArgumentException();
+                                throw new IllegalArgumentException("Iteration:" + counter.get());
                             }
                         }
 
