The compiler allows to permit a class which is not a subtype. public class AncestorPermitExample { sealed interface I permits A { } final static class A { } } The VM too but it's not a bug for the VM (i believe). Rémi