diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 69f0b8f..b53c210 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -622,7 +622,7 @@
     if (PyUnicode_READY(to))
         return -1;
 
-    how_many = PY_MIN(PyUnicode_GET_LENGTH(from), how_many);
+    how_many = Py_MIN(PyUnicode_GET_LENGTH(from), how_many);
     if (to_start + how_many > PyUnicode_GET_LENGTH(to)) {
         PyErr_Format(PyExc_ValueError,
                      "Cannot write %zi characters at %zi "
@@ -9472,7 +9472,7 @@
         goto onError;
 
     maxchar = PyUnicode_MAX_CHAR_VALUE(u);
-    maxchar = PY_MAX(maxchar, PyUnicode_MAX_CHAR_VALUE(v));
+    maxchar = Py_MAX(maxchar, PyUnicode_MAX_CHAR_VALUE(v));
 
     /* Concat the two Unicode strings */
     w = PyUnicode_New(
