I think the 'Test execution order' feature that was introduced with 4.11-beta1 is the cause of the problem.
The feature is implemented using a new Annotation @FixMethodOrder(...).
In the constructor of 'org.junit.internal.MethodSorter' clazz.getAnnotation(FixMethodOrder.class) is called.
This triggers the classloader of the testclass (instantiiated by the RobolectricClassLoader) to load the @RunWith annotation and with it the RobolectricTestRunnerInterface.
All this is triggered from within RobolectricTestRunner constructor call to the super constructor of BlockJunit4ClassRunner.
At this point the loading of RobolectricTestRunnerInterface is not yet delegated to the parent classloader.
-> RobolectricTestRunnerInterface gets loaded with the RobolectricClassLoader instead of the classloader that loads the junit classes.
Maybe it is possible to add the delegate directives to the RobolectricClassLoader before it is passed to the super constructor?
This should fix the problem but I do not know if this breaks some other assumptions regarding the global state in the singletons and the 'RobolectricTestRunner.sInstrumented()' call.