Index: pico/container/src/test/org/picocontainer/lifecycle/StartableLifecycleStrategyTestCase.java
===================================================================
--- pico/container/src/test/org/picocontainer/lifecycle/StartableLifecycleStrategyTestCase.java	(revision 5408)
+++ pico/container/src/test/org/picocontainer/lifecycle/StartableLifecycleStrategyTestCase.java	(working copy)
@@ -10,6 +10,7 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.picocontainer.Characteristics.AUTOMATIC;
 import static org.picocontainer.Characteristics.CACHE;
 import static org.picocontainer.tck.MockFactory.mockeryWithCountingNamingScheme;
 
@@ -21,6 +22,7 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.picocontainer.Characteristics;
 import org.picocontainer.DefaultPicoContainer;
 import org.picocontainer.Disposable;
 import org.picocontainer.PicoLifecycleException;
@@ -110,7 +112,7 @@
         DefaultPicoContainer pico = new DefaultPicoContainer(new MyStartableLifecycleStrategy(), new EmptyPicoContainer());
         StringBuilder sb = new StringBuilder();
         pico.addComponent(sb);
-        pico.as(CACHE).addComponent(ThirdPartyStartableComponent.class);
+        pico.as(AUTOMATIC, CACHE).addComponent(ThirdPartyStartableComponent.class);
         pico.start();
         pico.stop();
         pico.dispose();
@@ -118,6 +120,20 @@
 
     }
 
+    @Test public void testThirdPartyStartableAndDisposableIsLazy() {
+    	DefaultPicoContainer pico = new DefaultPicoContainer(new MyStartableLifecycleStrategy(), new EmptyPicoContainer());
+    	StringBuilder sb = new StringBuilder();
+    	pico.addComponent(sb);
+    	pico.as(CACHE).addComponent(ThirdPartyStartableComponent.class);
+    	pico.start();
+    	assertEquals("", sb.toString());
+    	pico.getComponent(ThirdPartyStartableComponent.class);
+    	assertEquals("<", sb.toString());
+    	pico.stop();
+    	pico.dispose();
+    	assertEquals("<>!", sb.toString());
+    }
+    
     @Test public void testMixOfThirdPartyAndBuiltInStartableAndDisposable() {
         DefaultPicoContainer pico = new DefaultPicoContainer(new CompositeLifecycleStrategy(
                     new MyStartableLifecycleStrategy(),

