Backed out changeset ea904d4b3634
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 30da5db..169a23f 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -6314,12 +6314,12 @@
                 specific = (void *)slot_tp_new;
             }
             else {
-                PyTypeObject *staticbase = type->tp_base;
                 specific = ((PyTypeObject *)self)->tp_new;
                 /* Check that the user does not do anything
                    silly and unsafe like object.__new__(dict).
                    To do this, we check that the most derived
                    base that's not a heap type is this type. */
+                PyTypeObject *staticbase = type->tp_base;
                 while (staticbase &&
                        (staticbase->tp_flags & Py_TPFLAGS_HEAPTYPE))
                     staticbase = staticbase->tp_base;