diff --git a/src/plugins/intel_gpu/src/graph/impls/ocl/primitive_base.hpp b/src/plugins/intel_gpu/src/graph/impls/ocl/primitive_base.hpp index 94d94f29846613..ad4d47ae6531f1 100644 --- a/src/plugins/intel_gpu/src/graph/impls/ocl/primitive_base.hpp +++ b/src/plugins/intel_gpu/src/graph/impls/ocl/primitive_base.hpp @@ -91,8 +91,10 @@ struct typed_primitive_impl_ocl : public typed_primitive_impl { static std::unique_ptr create(const typed_program_node& arg, const kernel_impl_params& impl_param) { // concat buffer fusing for dynamic shape is adaptively applied at runtime. So we need to build dynamic impl at build time. if (impl_param.can_be_optimized() && - !((impl_param.runtime_skippable() || impl_param.is_type()) && - impl_param.is_dynamic())) { + !((impl_param.is_type() || + impl_param.is_type() || + impl_param.is_type() || + impl_param.runtime_skippable()) && impl_param.is_dynamic())) { return make_unique(kernel_selector::kernel_data{}); } auto kernel_params = ImplType::get_kernel_params(ImplType::static_canonicalize_shapes(impl_param));