diff --git a/src/core/cpu/kernels/CpuElementwiseKernel.cpp b/src/core/cpu/kernels/CpuElementwiseKernel.cpp
index 23e95f7..4ab6244 100644
--- a/src/core/cpu/kernels/CpuElementwiseKernel.cpp
+++ b/src/core/cpu/kernels/CpuElementwiseKernel.cpp
@@ -187,7 +187,7 @@
         return;
     }
 
-    auto shape_and_window = compute_output_shape_and_window(*src0, *src1);
+    auto shape_and_window = compute_output_shape_and_window(src0->tensor_shape(), src1->tensor_shape());
     auto_init_if_empty(*dst, shape_and_window.first, 1, src0->data_type());
     ICpuKernel::configure(shape_and_window.second);
 }
diff --git a/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp b/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp
index ff2d080..3a96d93 100644
--- a/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp
+++ b/src/core/cpu/kernels/CpuElementwiseUnaryKernel.cpp
@@ -120,7 +120,7 @@
         return;
     }
 
-    auto shape_and_window = compute_output_shape_and_window(src);
+    auto shape_and_window = compute_output_shape_and_window(src.tensor_shape());
     auto_init_if_empty(dst, shape_and_window.first, 1, src.data_type());
     ICpuKernel::configure(shape_and_window.second);
 }
diff --git a/src/core/helpers/WindowHelpers.h b/src/core/helpers/WindowHelpers.h
index 637e932..dad5da6 100644
--- a/src/core/helpers/WindowHelpers.h
+++ b/src/core/helpers/WindowHelpers.h
@@ -184,14 +184,11 @@
  *
  * @return A pair of the shape and window
  */
-template <typename... Infos>
-std::pair<TensorShape, Window> compute_output_shape_and_window(const Infos &... infos)
+template <typename... Shapes>
+std::pair<TensorShape, Window> compute_output_shape_and_window(const Shapes &... shapes)
 {
-    const std::pair<TensorShape, ValidRegion> broadcast_pair = ITensorInfo::broadcast_shape_and_valid_region(infos...);
-    const TensorShape &out_shape    = broadcast_pair.first;
-    const ValidRegion &valid_region = broadcast_pair.second;
-
-    return std::make_pair(out_shape, calculate_max_window(valid_region));
+    const TensorShape out_shape = TensorShape::broadcast_shape(shapes...);
+    return std::make_pair(out_shape, calculate_max_window(out_shape));
 }
 #endif /* DOXYGEN_SKIP_THIS */
 } // namespace arm_compute
