diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 1e44357..6798ef8 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -4784,7 +4784,7 @@
             if (PyBytes_Check(rep))
                 repsize = PyBytes_GET_SIZE(rep);
             else
-                repsize = PyUnicode_GET_SIZE(rep);
+                repsize = PyUnicode_GET_LENGTH(rep);
 
             if (repsize > 4) {
                 Py_ssize_t offset;
@@ -8187,7 +8187,7 @@
             Py_DECREF(repunicode);
             return -1;
         }
-        repsize = PyUnicode_GET_SIZE(repunicode);
+        repsize = PyUnicode_GET_LENGTH(repunicode);
         data = PyUnicode_DATA(repunicode);
         kind = PyUnicode_KIND(repunicode);
         for (index = 0; index < repsize; index++) {
