There was an issue #22325 and @jhoeller has fixed it, but now I have the following problem: on the application startup there is a call of prepareRefresh(), so it works like that this.earlyApplicationListeners = new LinkedHashSet<>(this.applicationListeners); this.applicationListeners is an empty collection. Then it's needed to refresh the Application Context, app provokes the refresh() at AbstractApplicationContext, then Spring calls prepareRefresh and then checks this.earlyApplicationListeners == null, but it's an empty LinkedHashSet, not null, it's zero size set, so then it comes to this.applicationListeners.clear(); and all the listeners are removed, but they were created, so I'm loosing all of applicationListeners there. Application listeners collection was filled by CXF Servlet code