diff --git a/src/pl/plpython/plpy_cursorobject.c b/src/pl/plpython/plpy_cursorobject.c
index 57e8f8ec21..77c5c6e070 100644
--- a/src/pl/plpython/plpy_cursorobject.c
+++ b/src/pl/plpython/plpy_cursorobject.c
@@ -29,7 +29,7 @@ static PyObject *PLy_cursor_close(PyObject *self, PyObject *unused);
 
 static char PLy_cursor_doc[] = "Wrapper around a PostgreSQL cursor";
 
-static PyMethodDef PLy_cursor_methods[] = {
+static const PyMethodDef PLy_cursor_methods[] = {
 	{"fetch", PLy_cursor_fetch, METH_VARARGS, NULL},
 	{"close", PLy_cursor_close, METH_NOARGS, NULL},
 	{NULL, NULL, 0, NULL}
diff --git a/src/pl/plpython/plpy_planobject.c b/src/pl/plpython/plpy_planobject.c
index ec2439c6a1..c3e7ed19bd 100644
--- a/src/pl/plpython/plpy_planobject.c
+++ b/src/pl/plpython/plpy_planobject.c
@@ -20,7 +20,7 @@ static PyObject *PLy_plan_status(PyObject *self, PyObject *args);
 
 static char PLy_plan_doc[] = "Store a PostgreSQL plan";
 
-static PyMethodDef PLy_plan_methods[] = {
+static const PyMethodDef PLy_plan_methods[] = {
 	{"cursor", PLy_plan_cursor, METH_VARARGS, NULL},
 	{"execute", PLy_plan_execute, METH_VARARGS, NULL},
 	{"status", PLy_plan_status, METH_VARARGS, NULL},
diff --git a/src/pl/plpython/plpy_subxactobject.c b/src/pl/plpython/plpy_subxactobject.c
index 5c92a0e089..44cab89909 100644
--- a/src/pl/plpython/plpy_subxactobject.c
+++ b/src/pl/plpython/plpy_subxactobject.c
@@ -22,7 +22,7 @@ static PyObject *PLy_subtransaction_exit(PyObject *self, PyObject *args);
 static char PLy_subtransaction_doc[] =
 "PostgreSQL subtransaction context manager";
 
-static PyMethodDef PLy_subtransaction_methods[] = {
+static const PyMethodDef PLy_subtransaction_methods[] = {
 	{"__enter__", PLy_subtransaction_enter, METH_VARARGS, NULL},
 	{"__exit__", PLy_subtransaction_exit, METH_VARARGS, NULL},
 	/* user-friendly names for Python <2.6 */
