diff --git a/src/serialize/dataclass.rs b/src/serialize/dataclass.rs
index f862b8a9a814bf672089c87ffbf749851ede10ec_c3JjL3NlcmlhbGl6ZS9kYXRhY2xhc3MucnM=..eef7b29cc0a34538da179d9b3b02d630d0839852_c3JjL3NlcmlhbGl6ZS9kYXRhY2xhc3MucnM= 100644
--- a/src/serialize/dataclass.rs
+++ b/src/serialize/dataclass.rs
@@ -64,7 +64,9 @@
                     std::ptr::null_mut(),
                 )
             };
-            if unsafe { ffi!(PyObject_GetAttr(field, FIELD_TYPE_STR)) != FIELD_TYPE.as_ptr() } {
+            let field_type = ffi!(PyObject_GetAttr(field, FIELD_TYPE_STR));
+            ffi!(Py_DECREF(field_type));
+            if unsafe { field_type != FIELD_TYPE.as_ptr() } {
                 continue;
             }
             {