Buggy code:
final Set < MethodIdentifier > timeoutMethods = description . getTimerMethods ( ) ; if ( description . isTimerServiceRequired ( ) ) { userAroundTimeoutsByInterceptorClass = new HashMap ( ) ; } else { userAroundTimeoutsByInterceptorClass = null ; } if ( description . isPassivationApplicable ( ) ) { userPrePassivatesByInterceptorClass = new HashMap ( ) ; userPostActivatesByInterceptorClass = new HashMap ( ) ; } else { userPrePassivatesByInterceptorClass = null ; userPostActivatesByInterceptorClass = null ; } final InterceptorFactory instantiator ; final ComponentFactory instanceFactory = configuration . getInstanceFactory ( ) ; if ( instanceFactory != null ) { instantiator = new ImmediateInterceptorFactory ( new ComponentInstantiatorInterceptor ( instanceFactory , BasicComponentInstance . INSTANCE_KEY , true ) ) ; } else { final ClassReflectionIndex < ? > componentClassIndex = deploymentReflectionIndex . getClassIndex ( configuration . getComponentClass ( ) ) ; final Constructor < Object > constructor = ( ( Constructor < Object > ) ( componentClassIndex . getConstructor ( DefaultInterceptorConfigurator . EMPTY_CLASS_ARRAY ) ) ) ; if ( constructor == null ) { throw EeMessages . MESSAGES . defaultConstructorNotFound ( configuration . getComponentClass ( ) ) ; } instantiator = new ImmediateInterceptorFactory ( new ComponentInstantiatorInterceptor ( new ConstructorComponentFactory ( constructor ) , BasicComponentInstance . INSTANCE_KEY , true ) ) ; } final List < InterceptorDescription > interceptorWithLifecycleCallbacks = new ArrayList < InterceptorDescription > ( ) ; if ( ! ( description . isExcludeDefaultInterceptors ( ) ) ) { interceptorWithLifecycleCallbacks . addAll ( description . getDefaultInterceptors ( ) ) ; } interceptorWithLifecycleCallbacks . addAll ( description . getClassInterceptors ( ) ) ; for ( final InterceptorDescription interceptorDescription : description . getAllInterceptors ( ) ) { final String interceptorClassName = interceptorDescription . getInterceptorClassName ( ) ; final ClassIndex interceptorClass ; try { interceptorClass = classIndex . classIndex ( interceptorClassName ) ; } catch ( ClassNotFoundException e ) { throw EeMessages . MESSAGES . cannotLoadInterceptor ( e , interceptorClassName ) ; } final InterceptorEnvironment interceptorEnvironment = moduleDescription . getInterceptorEnvironment ( ) . get ( interceptorClassName ) ; if ( interceptorEnvironment != null ) { description . getBindingConfigurations ( ) . addAll ( interceptorEnvironment . getBindingConfigurations ( ) ) ; for ( final ResourceInjectionConfiguration injection : interceptorEnvironment . getResourceInjections ( ) ) { description . addResourceInjection ( injection ) ; } } final Object contextKey = interceptorClass . getModuleClass ( ) ; configuration . getInterceptorContextKeys ( ) . add ( contextKey ) ; final ClassReflectionIndex < ? > interceptorIndex = deploymentReflectionIndex . getClassIndex ( interceptorClass . getModuleClass ( ) ) ; final Constructor < ? > constructor = interceptorIndex . getConstructor ( DefaultInterceptorConfigurator . EMPTY_CLASS_ARRAY ) ; if ( constructor == null ) { throw EeMessages . MESSAGES . defaultConstructorNotFoundOnComponent ( interceptorClassName , configuration . getComponentClass ( ) ) ; } instantiators . addFirst ( new ImmediateInterceptorFactory ( new ComponentInstantiatorInterceptor ( new ConstructorComponentFactory ( constructor ) , contextKey , false ) ) ) ; destructors . addLast ( new ImmediateInterceptorFactory ( new ManagedReferenceReleaseInterceptor ( contextKey ) ) ) ; final boolean interceptorHasLifecycleCallbacks = interceptorWithLifecycleCallbacks . contains ( interceptorDescription ) ; new ClassDescriptionTraversal ( interceptorClass . getModuleClass ( ) , applicationClasses ) { @ Override public void handle ( final Class < ? > clazz , EEModuleClassDescription classDescription ) throws DeploymentUnitProcessingException { mergeInjectionsForClass ( clazz , interceptorClass . getModuleClass ( ) , classDescription , moduleDescription , deploymentReflectionIndex , description , configuration , context , injectors , contextKey , uninjectors , metadataComplete ) ; final org . jboss . as . ee . component . interceptors . InterceptorClassDescription interceptorConfig ; if ( ( classDescription != null ) && ( ! metadataComplete ) ) { interceptorConfig = org . jboss . as . ee . component . interceptors . InterceptorClassDescription . merge ( classDescription . getInterceptorClassDescription ( ) , moduleDescription . getInterceptorClassOverride ( clazz . getName ( ) ) ) ; } else { interceptorConfig = org . jboss . as . ee . component . interceptors . InterceptorClassDescription . merge ( null , moduleDescription . getInterceptorClassOverride ( clazz . getName ( ) ) ) ; } <START_BUG> if ( interceptorHasLifecycleCallbacks ) { <END_BUG> final MethodIdentifier postConstructMethodIdentifier = interceptorConfig . getPostConstruct ( ) ; handleInterceptorClass ( clazz , postConstructMethodIdentifier , userPostConstructByInterceptorClass , true , true ) ; final MethodIdentifier preDestroyMethodIdentifier = interceptorConfig . getPreDestroy ( ) ; handleInterceptorClass ( clazz , preDestroyMethodIdentifier , userPreDestroyByInterceptorClass , true , true ) ; final MethodIdentifier aroundConstructMethodIdentifier = interceptorConfig . getAroundConstruct ( ) ; handleInterceptorClass ( clazz , aroundConstructMethodIdentifier , userAroundConstructsByInterceptorClass , true , true ) ; } final MethodIdentifier aroundInvokeMethodIdentifier = interceptorConfig . getAroundInvoke ( ) ; handleInterceptorClass ( clazz , aroundInvokeMethodIdentifier , userAroundInvokesByInterceptorClass , false , false ) ; if ( description . isTimerServiceRequired ( ) ) { final MethodIdentifier aroundTimeoutMethodIdentifier = interceptorConfig . getAroundTimeout ( ) ; handleInterceptorClass ( clazz , aroundTimeoutMethodIdentifier , userAroundTimeoutsByInterceptorClass , false , false ) ; } if ( description . isPassivationApplicable ( ) ) { handleInterceptorClass ( clazz , interceptorConfig . getPrePassivate ( ) , userPrePassivatesByInterceptorClass , false , false ) ; handleInterceptorClass ( clazz , interceptorConfig . getPostActivate ( ) , userPostActivatesByInterceptorClass , false , false ) ; } } private void handleInterceptorClass ( final Class < ? > clazz , final MethodIdentifier methodIdentifier , final Map < String , List < InterceptorFactory > > classMap , final boolean changeMethod , final boolean lifecycleMethod ) throws DeploymentUnitProcessingException { if ( methodIdentifier != null ) { final Method method = org . jboss . as . server . deployment . reflect . ClassReflectionIndexUtil . findRequiredMethod ( deploymentReflectionIndex , clazz , methodIdentifier ) ; if ( isNotOverriden ( clazz , method , interceptorClass . getModuleClass ( ) , deploymentReflectionIndex ) ) { final InterceptorFactory interceptorFactory = new ImmediateInterceptorFactory ( new ManagedReferenceLifecycleMethodInterceptor ( contextKey , method , changeMethod , lifecycleMethod ) ) ; List < InterceptorFactory > factories = classMap . get ( interceptorClassName ) ; if ( factories == null ) { classMap . put ( interceptorClassName , ( factories = new ArrayList < InterceptorFactory > ( ) ) ) ; } factories . add ( interceptorFactory ) ; } } }

Fix:
if ( interceptorHasLifecycleCallbacks && ( ! ( description . isIgnoreLifecycleInterceptors ( ) ) ) ) {