When you directly create/update a configuration and delete it right after creation, the component instance creation of components which preconditions become fulfilled (using ConfigurationPolicy.REQUIRE) often fails. The reason is that events from the ConfigurationAdmin are delivered to SCR asynchronously. This results in the following behavior: SCR receives a configuration update event and accesses e.g. its properties. The call fails because the configuration was deleted in the meantime. A solution would be to implement SynchronousConfigurationListener in the class CongurationSupport instead of ConfigurationListener. That forces the ConfigurationAdmin to deliver the update events before someone can delete the configuration.