diff --git a/examples/cl_cache.cpp b/examples/cl_cache.cpp
index 7d8a515..a1a2d25 100644
--- a/examples/cl_cache.cpp
+++ b/examples/cl_cache.cpp
@@ -26,6 +26,7 @@
 #include "arm_compute/core/Types.h"
 #include "arm_compute/runtime/CL/CLHelpers.h"
 #include "arm_compute/runtime/CL/CLScheduler.h"
+#include "arm_compute/runtime/CL/Utils.h"
 #include "utils/Utils.h"
 
 using namespace arm_compute;
diff --git a/examples/graph_alexnet.cpp b/examples/graph_alexnet.cpp
index 0adc6a8..25ede6d 100644
--- a/examples/graph_alexnet.cpp
+++ b/examples/graph_alexnet.cpp
@@ -22,11 +22,15 @@
  * SOFTWARE.
  */
 #include "arm_compute/graph.h"
+#ifdef ARM_COMPUTE_CL
+#include "arm_compute/runtime/CL/Utils.h"
+#endif /* ARM_COMPUTE_CL */
 #include "support/ToolchainSupport.h"
 #include "utils/CommonGraphOptions.h"
 #include "utils/GraphUtils.h"
 #include "utils/Utils.h"
 
+using namespace arm_compute;
 using namespace arm_compute::utils;
 using namespace arm_compute::graph::frontend;
 using namespace arm_compute::graph_utils;
@@ -160,7 +164,9 @@
         // compilation won't be required.
         if(common_params.enable_cl_cache)
         {
+#ifdef ARM_COMPUTE_CL
             restore_program_cache_from_file();
+#endif /* ARM_COMPUTE_CL */
         }
 
         graph.finalize(common_params.target, config);
@@ -168,7 +174,9 @@
         // Save the opencl kernels to a file
         if(common_opts.enable_cl_cache)
         {
+#ifdef ARM_COMPUTE_CL
             save_program_cache_to_file();
+#endif /* ARM_COMPUTE_CL */
         }
 
         return true;
diff --git a/examples/graph_inception_v4.cpp b/examples/graph_inception_v4.cpp
index 7893930..c78bbb2 100644
--- a/examples/graph_inception_v4.cpp
+++ b/examples/graph_inception_v4.cpp
@@ -22,11 +22,15 @@
  * SOFTWARE.
  */
 #include "arm_compute/graph.h"
+#ifdef ARM_COMPUTE_CL
+#include "arm_compute/runtime/CL/Utils.h"
+#endif /* ARM_COMPUTE_CL */
 #include "support/ToolchainSupport.h"
 #include "utils/CommonGraphOptions.h"
 #include "utils/GraphUtils.h"
 #include "utils/Utils.h"
 
+using namespace arm_compute;
 using namespace arm_compute::utils;
 using namespace arm_compute::graph::frontend;
 using namespace arm_compute::graph_utils;
@@ -158,7 +162,9 @@
         // compilation won't be required.
         if(common_params.enable_cl_cache)
         {
+#ifdef ARM_COMPUTE_CL
             restore_program_cache_from_file();
+#endif /* ARM_COMPUTE_CL */
         }
 
         graph.finalize(common_params.target, config);
@@ -166,7 +172,9 @@
         // Save the opencl kernels to a file
         if(common_opts.enable_cl_cache)
         {
+#ifdef ARM_COMPUTE_CL
             save_program_cache_to_file();
+#endif /* ARM_COMPUTE_CL */
         }
 
         return true;
