diff --git a/Misc/NEWS b/Misc/NEWS
index 5c73479..1bbb17e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -24,6 +24,8 @@
 Library
 -------
 
+- Fix refcounting issue with extension types in tkinter.
+
 - Issue #8112: xlmrpc.server's DocXMLRPCServer server no longer raises an error
   if methods have annotations; it now correctly displays the annotations.
 
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 26f10fd..637a9bb 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -516,6 +516,7 @@
     v = PyObject_New(TkappObject, (PyTypeObject *) Tkapp_Type);
     if (v == NULL)
         return NULL;
+    Py_INCREF(Tkapp_Type);
 
     v->interp = Tcl_CreateInterp();
     v->wantobjects = wantobjects;
@@ -674,6 +675,7 @@
     self = PyObject_New(PyTclObject, (PyTypeObject *) PyTclObject_Type);
     if (self == NULL)
         return NULL;
+    Py_INCREF(PyTclObject_Type);
     Tcl_IncrRefCount(arg);
     self->value = arg;
     self->string = NULL;
@@ -683,9 +685,11 @@
 static void
 PyTclObject_dealloc(PyTclObject *self)
 {
+    PyObject *tp = (PyObject *) Py_TYPE(self);
     Tcl_DecrRefCount(self->value);
     Py_XDECREF(self->string);
     PyObject_Del(self);
+    Py_DECREF(tp);
 }
 
 static char*
@@ -2196,6 +2200,7 @@
     v = PyObject_New(TkttObject, (PyTypeObject *) Tktt_Type);
     if (v == NULL)
         return NULL;
+    Py_INCREF(Tktt_Type);
 
     Py_INCREF(func);
     v->token = NULL;
@@ -2211,10 +2216,12 @@
 {
     TkttObject *v = (TkttObject *)self;
     PyObject *func = v->func;
+    PyObject *tp = (PyObject *) Py_TYPE(self);
 
     Py_XDECREF(func);
 
     PyObject_Del(self);
+    Py_DECREF(tp);
 }
 
 static PyObject *
@@ -2520,11 +2527,13 @@
 static void
 Tkapp_Dealloc(PyObject *self)
 {
+    PyObject *tp = (PyObject *) Py_TYPE(self);
     /*CHECK_TCL_APPARTMENT;*/
     ENTER_TCL
     Tcl_DeleteInterp(Tkapp_Interp(self));
     LEAVE_TCL
     PyObject_Del(self);
+    Py_DECREF(tp);
     DisableEventHook();
 }
 
