diff --git a/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java b/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java index a76e181a5a0..3a2593170f5 100644 --- a/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java +++ b/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java @@ -200,11 +200,11 @@ protected void checkReturnValue(T instance) { return; } - if (isDependent() && Beans.isPassivatingBean(injectionPoint.getBean()) && !isSerializable()) + if (isDependent() && Beans.isPassivatingBean(injectionPoint.getBean())) { if (injectionPoint.getMember() instanceof Field) { - if (!Reflections.isTransient(injectionPoint.getMember())) + if (!Reflections.isTransient(injectionPoint.getMember()) || !isSerializable()) { throw new IllegalProductException("Dependent scoped producers cannot produce non-serializable instances for injection into non-transient fields of passivating beans\n\nProducer: " + this.toString() + "\nInjection Point: " + injectionPoint.toString()); }