diff --git a/arm_compute/runtime/CL/CLScheduler.h b/arm_compute/runtime/CL/CLScheduler.h
index c76ee3f..89c3bc1 100644
--- a/arm_compute/runtime/CL/CLScheduler.h
+++ b/arm_compute/runtime/CL/CLScheduler.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2018 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -52,8 +52,6 @@
 private:
     /** Constructor */
     CLScheduler();
-    /** Destructor */
-    ~CLScheduler();
     /** Prevent instances of this class from being copied (As this class contains pointers) */
     CLScheduler(const CLScheduler &) = delete;
     /** Prevent instances of this class from being copied (As this class contains pointers) */
diff --git a/src/runtime/CL/CLScheduler.cpp b/src/runtime/CL/CLScheduler.cpp
index c947b7a..65292fe 100644
--- a/src/runtime/CL/CLScheduler.cpp
+++ b/src/runtime/CL/CLScheduler.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2018 ARM Limited.
+ * Copyright (c) 2016-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -35,11 +35,6 @@
 {
 }
 
-CLScheduler::~CLScheduler()
-{
-    _queue.finish();
-}
-
 CLScheduler &CLScheduler::get()
 {
     std::call_once(_initialize_symbols, opencl_is_available);
diff --git a/tests/main.cpp b/tests/main.cpp
index 2fb0dd2..1f3c365 100644
--- a/tests/main.cpp
+++ b/tests/main.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, 2018 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -191,6 +191,10 @@
             }
         }
 
+#ifdef ARM_COMPUTE_CL
+        CLScheduler::get().sync();
+#endif /* ARM_COMPUTE_CL */
+
         return (success ? 0 : 1);
     }
     catch(const std::exception &error)
