#4586: fix usage of Py_InitModule.
diff --git a/Doc/extending/embedding.rst b/Doc/extending/embedding.rst
index c86ae8a..e5c7da1 100644
--- a/Doc/extending/embedding.rst
+++ b/Doc/extending/embedding.rst
@@ -218,11 +218,16 @@
        {NULL, NULL, 0, NULL}
    };
 
+   static PyModuleDef EmbModule = {
+       PyModuleDef_HEAD_INIT, "emb", NULL, -1, EmbMethods,
+       NULL, NULL, NULL, NULL
+   };
+
 Insert the above code just above the :cfunc:`main` function. Also, insert the
 following two statements directly after :cfunc:`Py_Initialize`::
 
    numargs = argc;
-   Py_InitModule("emb", EmbMethods);
+   PyModule_Create(&EmbModule);
 
 These two lines initialize the ``numargs`` variable, and make the
 :func:`emb.numargs` function accessible to the embedded Python interpreter.