diff --git a/rocksdb/_rocksdb.pyx b/rocksdb/_rocksdb.pyx
index 1af70b1e5bd662f8c85477d9df5d91e634649cf6..9106f057bf6f1d9b0b0d5a00cb0c57499915094d 100644
--- a/rocksdb/_rocksdb.pyx
+++ b/rocksdb/_rocksdb.pyx
@@ -1095,7 +1095,9 @@ cdef class DB(object):
 
     def __dealloc__(self):
         if not self.db == NULL:
-            del self.db
+            with nogil:
+                del self.db
+
         if self.opts is not None:
             self.opts.in_use = False