diff --git a/tests/capture.py b/tests/capture.py
index a7b7583..88ed81f 100755
--- a/tests/capture.py
+++ b/tests/capture.py
@@ -17,6 +17,7 @@ c.enumerate()
 devices = c.get_devices()
 
 d = devices[0]
+del devices
 
 d.open_sync()
 
@@ -24,6 +25,9 @@ img = d.capture_sync(True)
 
 d.close_sync()
 
+del d
+del c
+
 width = img.get_width()
 height = img.get_height()
 
diff --git a/tests/synaptics/custom.py b/tests/synaptics/custom.py
index 6016799..b0f1c54 100755
--- a/tests/synaptics/custom.py
+++ b/tests/synaptics/custom.py
@@ -11,6 +11,7 @@ c.enumerate()
 devices = c.get_devices()
 
 d = devices[0]
+del devices
 
 assert d.get_driver() == "synaptics"
 
@@ -40,3 +41,6 @@ print("deleting")
 d.delete_print_sync(p)
 print("delete done")
 d.close_sync()
+
+del d
+del c
diff --git a/tests/virtual-image.py b/tests/virtual-image.py
index 87c221b..11ec8ae 100755
--- a/tests/virtual-image.py
+++ b/tests/virtual-image.py
@@ -83,6 +83,8 @@ class VirtualImage(unittest.TestCase):
     @classmethod
     def tearDownClass(cls):
         shutil.rmtree(cls.tmpdir)
+        del cls.dev
+        del cls.ctx
 
     def setUp(self):
         self.dev.open_sync()