diff --git a/prule/daemon/__main__.py b/prule/daemon/__main__.py
index 98c6e8313194d82449b57e37ec347b4ec57bf0b0..cb7c49cc18bf833768b7dad2291e9d036910f8f5 100644
--- a/prule/daemon/__main__.py
+++ b/prule/daemon/__main__.py
@@ -379,7 +379,10 @@ class CCCheckThread(threading.Thread):
             return None
 
         #await self.requestTask
-        jobs = self.requestFuture.result()
+        try:
+            jobs = self.requestFuture.result()
+        except CancelledError as e:
+            jobs = None
         with self.stopCondition:
             self.requestTask = None
             self.requestFuture = None
@@ -489,9 +492,9 @@ class CCCheckThread(threading.Thread):
         with self.stopCondition:
             print("Stop CCCheckThread")
             self.stopThread = True
-            if self.requestFuture != None:
-                #self.requestFuture.cancel()
-                self.requestFuture.set_result(None)
+            if self.requestFuture != None and self.requestFuture.done() == False:
+                self.requestFuture.cancel()
+                #self.requestFuture.set_result(None)
             self.stopCondition.notify()
 
 """