Java 7's JavaBeans persistence ignoring the "transient" flag on properties but XMLEncoder is not ignoring "transient". Rather the JavaBeans Introspector is somehow dropping "transient" from 1 of 2 properties when composing the subclass BeanInfo. In the parent class' BeanInfo "transient" is present on both properties. In the subclass, however, it is only present on 1 of the 2 properties. Java 6 doesn't have this issue. Have a BeanInfo class, InfoBeanInfo, for a base class, Info, that marks the CustomDelegateFactory property (any capitalization thereof) as transient and PropertyDescriptor.setValue( "transient", Boolean.TRUE ). This is obeyed just fine in testing with the Java 6 Update 34 when outputting instances of subclasses of Info. This seems to be ignored by the test JDK provided -- resulting in undesirable output. Checked Java 7 Update 6 and it also seems to ignore this BeanInfo. Note that although the classes reside in various packages, they're all in one directory The test execution is encapsulated in Test.main(). Java 6 Update 34 produces: INFO (BASE CLASS) TRANSIENT PROPERTIES: --------------------------------------- customDelegateFactory customDelegateFactoryClass SUMMARY (SUB-CLASS) TRANSIENT PROPERTIES: ----------------------------------------- customDelegateFactory customDelegateFactoryClass Java 7 Update 6 produces: INFO (BASE CLASS) TRANSIENT PROPERTIES: --------------------------------------- customDelegateFactory customDelegateFactoryClass SUMMARY (SUB-CLASS) TRANSIENT PROPERTIES: ----------------------------------------- customDelegateFactoryClass Note that 'customDelegateFactory' is transient in the Info class' BeanInfo in both cases, but is not transient in the Summary class' BeanInfo in Java 7.