Buggy code:
public class WeldComponentIntegrationProcessor implements DeploymentUnitProcessor { @ Override public void deploy ( DeploymentPhaseContext phaseContext ) throws DeploymentUnitProcessingException { } private void addWeldIntegration ( final ServiceTarget target , final ComponentConfiguration configuration , final ComponentDescription description , final Class < ? > componentClass , final String beanName , final ServiceName weldServiceName , final Set < Class < ? > > interceptorClasses , final ClassLoader classLoader , final String beanDeploymentArchiveId ) { final ServiceName serviceName = configuration . getComponentDescription ( ) . getServiceName ( ) . append ( "WeldInstantiator" ) ; final WeldManagedReferenceFactory factory = new WeldManagedReferenceFactory ( componentClass , beanName , interceptorClasses , classLoader , beanDeploymentArchiveId ) ; ServiceBuilder < WeldManagedReferenceFactory > builder = target . addService ( serviceName , factory ) . addDependency ( weldServiceName , WeldContainer . class , factory . getWeldContainer ( ) ) ; configuration . setInstanceFactory ( factory ) ; configuration . getStartDependencies ( ) . add ( new org . jboss . as . ee . component . DependencyConfigurator < ComponentStartService > ( ) { @ Override public void configureDependency ( final ServiceBuilder < ? > serviceBuilder , ComponentStartService service ) throws DeploymentUnitProcessingException { serviceBuilder . addDependency ( serviceName ) ; } } ) ; if ( description instanceof EJBComponentDescription ) { <START_BUG> final EjbRequestScopeActivationInterceptor . Factory requestFactory = new EjbRequestScopeActivationInterceptor . Factory ( classLoader , weldServiceName , ( description instanceof MessageDrivenComponentDescription ) ) ; <END_BUG> configuration . addComponentInterceptor ( requestFactory , CDI_REQUEST_SCOPE , false ) ; final Jsr299BindingsInterceptor . Factory aroundInvokeFactory = new Jsr299BindingsInterceptor . Factory ( description . getBeanDeploymentArchiveId ( ) , beanName , InterceptionType . AROUND_INVOKE , classLoader ) ; final Jsr299BindingsInterceptor . Factory aroundTimeoutFactory = new Jsr299BindingsInterceptor . Factory ( description . getBeanDeploymentArchiveId ( ) , beanName , InterceptionType . AROUND_TIMEOUT , classLoader ) ; builder . addDependency ( weldServiceName , WeldContainer . class , aroundTimeoutFactory . getWeldContainer ( ) ) ; builder . addDependency ( weldServiceName , WeldContainer . class , aroundInvokeFactory . getWeldContainer ( ) ) ; configuration . addComponentInterceptor ( new org . jboss . as . ee . component . interceptors . UserInterceptorFactory ( aroundInvokeFactory , aroundTimeoutFactory ) , CDI_INTERCEPTORS , false ) ; final Jsr299BindingsInterceptor . Factory preDestroyInterceptor = new Jsr299BindingsInterceptor . Factory ( description . getBeanDeploymentArchiveId ( ) , beanName , InterceptionType . PRE_DESTROY , classLoader ) ; builder . addDependency ( weldServiceName , WeldContainer . class , preDestroyInterceptor . getWeldContainer ( ) ) ; configuration . addPreDestroyInterceptor ( preDestroyInterceptor , InterceptorOrder . ComponentPreDestroy . CDI_INTERCEPTORS ) ; if ( description . isPassivationApplicable ( ) ) { final Jsr299BindingsInterceptor . Factory prePassivateInterceptor = new Jsr299BindingsInterceptor . Factory ( description . getBeanDeploymentArchiveId ( ) , beanName , InterceptionType . PRE_PASSIVATE , classLoader ) ; builder . addDependency ( weldServiceName , WeldContainer . class , prePassivateInterceptor . getWeldContainer ( ) ) ; configuration . addPrePassivateInterceptor ( prePassivateInterceptor , InterceptorOrder . ComponentPassivation . CDI_INTERCEPTORS ) ; final Jsr299BindingsInterceptor . Factory postActivateInterceptor = new Jsr299BindingsInterceptor . Factory ( description . getBeanDeploymentArchiveId ( ) , beanName , InterceptionType . POST_ACTIVATE , classLoader ) ; builder . addDependency ( weldServiceName , WeldContainer . class , postActivateInterceptor . getWeldContainer ( ) ) ; configuration . addPostActivateInterceptor ( postActivateInterceptor , InterceptorOrder . ComponentPassivation . CDI_INTERCEPTORS ) ; } final Jsr299BindingsInterceptor . Factory postConstruct = new Jsr299BindingsInterceptor . Factory ( description . getBeanDeploymentArchiveId ( ) , beanName , InterceptionType . POST_CONSTRUCT , classLoader ) ; builder . addDependency ( weldServiceName , WeldContainer . class , postConstruct . getWeldContainer ( ) ) ; configuration . addPostConstructInterceptor ( postConstruct , InterceptorOrder . ComponentPostConstruct . CDI_INTERCEPTORS ) ; } builder . install ( ) ; } @ Override public void undeploy ( DeploymentUnit context ) { } }

Fix:
final EjbRequestScopeActivationInterceptor . Factory requestFactory = new EjbRequestScopeActivationInterceptor . Factory ( weldServiceName , ( description instanceof MessageDrivenComponentDescription ) ) ;