diff --git a/src/if_py_both.h b/src/if_py_both.h
index 0912ee0..530c6d8 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -2432,32 +2432,25 @@
 convert_dl(PyObject *obj, typval_T *tv,
 				    pytotvfunc py_to_tv, PyObject *lookupDict)
 {
-# ifdef PY_USE_CAPSULE
     PyObject	*capsule;
-# else
-    PyCObject	*cobject;
-# endif
     char	hexBuf[sizeof(void *) * 2 + 3];
 
     sprintf(hexBuf, "%p", obj);
 
 # ifdef PY_USE_CAPSULE
     capsule = PyDict_GetItemString(lookupDict, hexBuf);
-    if (capsule == NULL)
 # else
-    cobject = (PyCObject *)PyDict_GetItemString(lookupDict, hexBuf);
-    if (cobject == NULL)
+    capsule = (PyObject *)PyDict_GetItemString(lookupDict, hexBuf);
 # endif
+    if (capsule == NULL)
     {
 # ifdef PY_USE_CAPSULE
 	capsule = PyCapsule_New(tv, NULL, NULL);
+# else
+	capsule = PyCObject_FromVoidPtr(tv, NULL);
+# endif
 	PyDict_SetItemString(lookupDict, hexBuf, capsule);
 	Py_DECREF(capsule);
-# else
-	cobject = PyCObject_FromVoidPtr(tv, NULL);
-	PyDict_SetItemString(lookupDict, hexBuf, cobject);
-	Py_DECREF(cobject);
-# endif
 	if (py_to_tv(obj, tv, lookupDict) == -1)
 	{
 	    tv->v_type = VAR_UNKNOWN;
@@ -2478,7 +2471,7 @@
 # ifdef PY_USE_CAPSULE
 	v = PyCapsule_GetPointer(capsule, NULL);
 # else
-	v = PyCObject_AsVoidPtr(cobject);
+	v = PyCObject_AsVoidPtr(capsule);
 # endif
 	copy_tv(v, tv);
     }
diff --git a/src/if_python.c b/src/if_python.c
index 6674df7..1740979 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -327,8 +327,8 @@
 static PyObject* (*dll_PyCapsule_New)(void *, char *, PyCapsule_Destructor);
 static void* (*dll_PyCapsule_GetPointer)(PyObject *, char *);
 # else
-static PyCObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
-static void* (*dll_PyCObject_AsVoidPtr)(PyCObject *);
+static PyObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *));
+static void* (*dll_PyCObject_AsVoidPtr)(PyObject *);
 # endif
 
 static HINSTANCE hinstPython = 0; /* Instance of python.dll */
diff --git a/src/version.c b/src/version.c
index f9d2eda..526669d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    584,
+/**/
     583,
 /**/
     582,
