When creating an .ear project with multiple .war files, several servlet contexts will exist, but Seam registers only a single servlet context in the application scope. This application scoped servlet context is used a lot of places through the ServletLifecycle class.
To reproduce, try the following:
ServletContext servletLifecycleServletContext = ServletLifecycle.getCurrentServletContext();
ServletContext facesContextServletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
This will return two different servlet contexts if called from the webapp that was not registered in application scope.