diff --git a/demo/detector.py b/demo/detector.py
index 6b0563aee0ac4e866e5fdd86df7cf8b19be1990d..e06d4150d5d36b355275c0954d0d7010e53cd567 100644
--- a/demo/detector.py
+++ b/demo/detector.py
@@ -16,8 +16,8 @@ class Detector :
         self.nothing_counter = 0
         self.myCam = Cam( config )
         self.myModel = Model( config )
-        self.myArm = Arm( config )
         if self.harvest : 
+            self.myArm = Arm( config )
             self.myModel.add_callback( self.__harvestCallback )
             self.harvest_job = Thread( target = self.myArm.harvest, args = ( self.myArm.target, ) )
         
@@ -59,8 +59,8 @@ class Detector :
         for img in self.myCam.stream() :
             self.myModel.predict( img )
             if cv2.waitKey(25) & 0xFF == ord('q') or self.exit_status : 
-                self.myArm.closeCommunication()
                 cv2.destroyAllWindows()
+                if self.harvest : self.myArm.closeCommunication()
                 break