Bug 374421 - Infinite recursion if context provider is not set
diff --git a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ContextInjectionTest.java b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ContextInjectionTest.java
index eac0fe7..0a5c884 100644
--- a/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ContextInjectionTest.java
+++ b/tests/org.eclipse.e4.core.tests/src/org/eclipse/e4/core/internal/tests/contexts/inject/ContextInjectionTest.java
@@ -20,6 +20,7 @@
 import org.eclipse.e4.core.contexts.ContextInjectionFactory;
 import org.eclipse.e4.core.contexts.EclipseContextFactory;
 import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.core.contexts.RunAndTrack;
 
 /**
  * Tests for the basic context injection functionality
@@ -307,5 +308,20 @@
 		assertEquals(testDouble, userObject.inputDouble);
 		assertTrue(userObject.finishOverrideCalled);
 	}
+	
+    public void testBug374421() {
+    	try {
+	        IEclipseContext context = EclipseContextFactory.create();
+	        context.runAndTrack(new RunAndTrack() {
+	            public boolean changed(IEclipseContext context) {
+	                IEclipseContext staticContext = EclipseContextFactory.create();
+	                ContextInjectionFactory.make(Object.class, context, staticContext);
+	                return true;
+	            }
+	        });
+    	} catch (StackOverflowError e) {
+    		fail("See bug 374421 for details.");
+    	}
+    }
 
 }