diff --git a/arm_compute/runtime/CL/CLScheduler.h b/arm_compute/runtime/CL/CLScheduler.h
index 0d81d73..26b459c 100644
--- a/arm_compute/runtime/CL/CLScheduler.h
+++ b/arm_compute/runtime/CL/CLScheduler.h
@@ -123,7 +123,7 @@
     void init(cl::Context context = cl::Context::getDefault(), cl::CommandQueue queue = cl::CommandQueue::getDefault(),
               cl::Device device = cl::Device::getDefault(), ICLTuner *cl_tuner = nullptr)
     {
-        _context        = std::move(context);
+        set_context(context);
         _queue          = std::move(queue);
         _target         = get_target_from_device(device);
         _is_initialised = true;
@@ -137,7 +137,7 @@
     cl::Context &context()
     {
         ARM_COMPUTE_ERROR_ON(!_is_initialised);
-        return _context;
+        return CLKernelLibrary::get().context();
     }
 
     /** Accessor to set the CL context to be used by the scheduler.
@@ -146,7 +146,7 @@
      */
     void set_context(cl::Context context)
     {
-        _context = std::move(context);
+        CLKernelLibrary::get().set_context(context);
     }
 
     /** Accessor for the associated CL command queue.
@@ -225,7 +225,6 @@
     /** Flag to ensure symbols initialisation is happening before Scheduler creation */
     static std::once_flag _initialize_symbols;
 
-    cl::Context      _context;
     cl::CommandQueue _queue;
     GPUTarget        _target;
     bool             _is_initialised;
