diff --git a/tests/validation/NEON/PoolingLayer.cpp b/tests/validation/NEON/PoolingLayer.cpp
index 489c5b6..b29cd3e 100644
--- a/tests/validation/NEON/PoolingLayer.cpp
+++ b/tests/validation/NEON/PoolingLayer.cpp
@@ -99,9 +99,8 @@
     const std::pair<unsigned int, unsigned int> scaled_dims = arm_compute::scaled_dimensions(in_shape.x(),
                                                                                              in_shape.y(),
                                                                                              pool_info.pool_size(),
-                                                                                             pool_info.pad_stride_info().stride().first, pool_info.pad_stride_info().stride().second,
-                                                                                             pool_info.pad_stride_info().pad().first, pool_info.pad_stride_info().pad().second,
-                                                                                             pool_info.pad_stride_info().round());
+                                                                                             pool_info.pool_size(),
+                                                                                             pool_info.pad_stride_info());
     out_shape.set(0, scaled_dims.first);
     out_shape.set(1, scaled_dims.second);
     return out_shape;
