bug [ 1232768 ] Mistakes in online docs under "5.3 Pure Embedding"
diff --git a/Doc/ext/run-func.c b/Doc/ext/run-func.c
index b5be5c6..ff74290 100644
--- a/Doc/ext/run-func.c
+++ b/Doc/ext/run-func.c
@@ -20,11 +20,8 @@
     Py_DECREF(pName);
 
     if (pModule != NULL) {
-        pDict = PyModule_GetDict(pModule);
-        /* pDict is a borrowed reference */
-
-        pFunc = PyDict_GetItemString(pDict, argv[2]);
-        /* pFun: Borrowed reference */
+        pFunc = PyDict_GetItemString(pModule, argv[2]);
+        /* pFunc is a new reference */
 
         if (pFunc && PyCallable_Check(pFunc)) {
             pArgs = PyTuple_New(argc - 3);
@@ -46,18 +43,19 @@
                 Py_DECREF(pValue);
             }
             else {
+                Py_DECREF(pFunc);
                 Py_DECREF(pModule);
                 PyErr_Print();
                 fprintf(stderr,"Call failed\n");
                 return 1;
             }
-            /* pDict and pFunc are borrowed and must not be Py_DECREF-ed */
         }
         else {
             if (PyErr_Occurred())
                 PyErr_Print();
             fprintf(stderr, "Cannot find function \"%s\"\n", argv[2]);
         }
+        Py_XDECREF(pFunc);
         Py_DECREF(pModule);
     }
     else {