diff --git a/src/plugins/intel_gpu/src/graph/primitive_inst.cpp b/src/plugins/intel_gpu/src/graph/primitive_inst.cpp index c92c5854a8199e..1ad11f77adc7a0 100644 --- a/src/plugins/intel_gpu/src/graph/primitive_inst.cpp +++ b/src/plugins/intel_gpu/src/graph/primitive_inst.cpp @@ -392,7 +392,7 @@ void primitive_inst::update_shape() { if (i >= _deps.size()) continue; - if (_deps[i].first->get_node().is_in_shape_of_subgraph()) { + if (_deps[i].first->get_node().is_in_shape_of_subgraph() && _deps[i].first->get_node().get_selected_impl()->is_cpu()) { bool can_skip = true; const auto& insts = _deps[i].first->dependant_shape_of_insts; for (auto& inst : insts) { @@ -432,7 +432,7 @@ void primitive_inst::update_shape() { continue; } - if (!get_node().is_type() && !dep->get_node().is_in_shape_of_subgraph()) { + if (!get_node().is_type() && !dep->get_node().get_selected_impl()->is_cpu()) { has_runtime_deps = true; // Events may be not created for in-order queue, so take them for OOO queue only