Index: pico/container/src/test/org/picocontainer/lifecycle/LazyLifecycleStrategyTestCase.java
===================================================================
--- pico/container/src/test/org/picocontainer/lifecycle/LazyLifecycleStrategyTestCase.java	(revision 5533)
+++ pico/container/src/test/org/picocontainer/lifecycle/LazyLifecycleStrategyTestCase.java	(working copy)
@@ -25,8 +25,8 @@
 
             @Override
             protected Object decorateComponent(Object component, ComponentAdapter<?> componentAdapter) {
-                if (component instanceof Startable) {
-                    // will need to enhance this to prevent processing same multiple times
+                if (componentAdapter instanceof ComponentLifecycle<?>
+                    && !((ComponentLifecycle<?>) componentAdapter).isStarted()) {
                     super.potentiallyStartAdapter(componentAdapter);
                 }
                 return component;
@@ -39,6 +39,8 @@
         assertEquals("", sb.toString()); // normally would be "<" here
         Object bar = pico.getComponent(MyStartableComp.class);
         assertEquals("<", sb.toString());
+        Object baz = pico.getComponent(MyStartableComp.class);
+        assertEquals("<", sb.toString());
         pico.stop();
         assertEquals("<>", sb.toString());
         pico.dispose();

