diff --git a/1.1/HalPolicy.cpp b/1.1/HalPolicy.cpp
index d7f4bbb..6687b12 100644
--- a/1.1/HalPolicy.cpp
+++ b/1.1/HalPolicy.cpp
@@ -6,6 +6,7 @@
 #include "HalPolicy.hpp"
 
 #include "OutputShapeUtils.hpp"
+#include "Utils.hpp"
 
 #include "../1.0/HalPolicy.hpp"
 
@@ -182,7 +183,7 @@
     }
 
     armnn::TensorInfo outputInfo = GetTensorInfoForOperand(*outputOperand);
-    if (IsDynamicOutput(outputInfo))
+    if (IsDynamicTensor(outputInfo))
     {
         ALOGD("Output shape not set, will infer from inputs");
         outputInfo.SetShape(InferSubOutputShape(input0.GetTensorInfo().GetShape(), input1.GetTensorInfo().GetShape()));
@@ -313,7 +314,7 @@
     }
 
     armnn::TensorInfo outputInfo = GetTensorInfoForOperand(*output);
-    if (IsDynamicOutput(outputInfo))
+    if (IsDynamicTensor(outputInfo))
     {
         ALOGD("Output shape not set, will infer from inputs");
         outputInfo.SetShape(InferPadOutputShape(inputInfo.GetShape(), descriptor.m_PadList));
