diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 18b50fc..93f34ed 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -638,13 +638,6 @@
 	--_PyTrash_delete_nesting;
 	_PyObject_GC_TRACK(self); /* We'll untrack for real later */
 
-	/* Maybe call finalizer; exit early if resurrected */
-	if (type->tp_del) {
-		type->tp_del(self);
-		if (self->ob_refcnt > 0)
-			goto endlabel;
-	}
-
 	/* Find the nearest base with a different tp_dealloc
 	   and clear slots while we're at it */
 	base = type;
@@ -655,6 +648,18 @@
 		assert(base);
 	}
 
+	/* If we added a weaklist, we clear it.  Do this *before* calling
+	   the finalizer (__del__) or clearing the instance dict. */
+	if (type->tp_weaklistoffset && !base->tp_weaklistoffset)
+		PyObject_ClearWeakRefs(self);
+
+	/* Maybe call finalizer; exit early if resurrected */
+	if (type->tp_del) {
+		type->tp_del(self);
+		if (self->ob_refcnt > 0)
+			goto endlabel;
+	}
+
 	/* If we added a dict, DECREF it */
 	if (type->tp_dictoffset && !base->tp_dictoffset) {
 		PyObject **dictptr = _PyObject_GetDictPtr(self);
@@ -667,10 +672,6 @@
 		}
 	}
 
-	/* If we added weaklist, we clear it */
-	if (type->tp_weaklistoffset && !base->tp_weaklistoffset)
-		PyObject_ClearWeakRefs(self);
-
 	/* Finalize GC if the base doesn't do GC and we do */
 	if (!PyType_IS_GC(base))
 		_PyObject_GC_UNTRACK(self);
