per discussion in forum thread ref below, the TransactionLocal.get() method calls storeValue in certain cases. Although the javadoc warns that the method may throw IllegalStateException, not all of the code in the app server that uses it can actually deal with that. With the old delegate implementation it did not need to. With changes to the way the TransactionLocalDelegate is implemented by JBossTS, this stared to cause problems. Per Adrian's suggestion this is resolved by masking the exception if it occurs.