diff --git a/src/plugins/intel_gpu/src/plugin/transformations/kv_cache_fusion.cpp b/src/plugins/intel_gpu/src/plugin/transformations/kv_cache_fusion.cpp index c5961c090334f4..fe1a8c5734924f 100644 --- a/src/plugins/intel_gpu/src/plugin/transformations/kv_cache_fusion.cpp +++ b/src/plugins/intel_gpu/src/plugin/transformations/kv_cache_fusion.cpp @@ -123,6 +123,8 @@ KVCacheFusionMatcher::KVCacheFusionMatcher() { // StridedSlice uses multi-dim for end tensor, extract only the slice dim if (has_strided_slice) { const auto strided_slice = ov::as_type_ptr(concat_node->input_value(0).get_node_shared_ptr()); + if (!strided_slice) + return false; const auto begin_mask = strided_slice->get_begin_mask(); const auto end_mask = strided_slice->get_end_mask(); // begin/end mask should be the same and only last element is 0 (being sliced)