diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
index 9012257..7917c68 100644
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -352,12 +352,15 @@
         Py_UNICODE_ISDIGIT(ch) || \
         Py_UNICODE_ISNUMERIC(ch))
 
-#define Py_UNICODE_COPY(target, source, length)\
-    (memcpy((target), (source), (length)*sizeof(Py_UNICODE)))
+#define Py_UNICODE_COPY(target, source, length) do\
+    {int i; Py_UNICODE *t = (target); const Py_UNICODE *s = (source);\
+        for (i = 0; i < (length); i++) t[i] = s[i];\
+    } while (0)
 
 #define Py_UNICODE_FILL(target, value, length) do\
-    {int i; for (i = 0; i < (length); i++) (target)[i] = (value);}\
-    while (0)
+    {int i; Py_UNICODE *t = (target); Py_UNICODE v = (value);\
+        for (i = 0; i < (length); i++) t[i] = v;\
+    } while (0)
 
 #define Py_UNICODE_MATCH(string, offset, substring)\
     ((*((string)->str + (offset)) == *((substring)->str)) &&\
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 7d11f7d..6f04a6d 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -5898,10 +5898,13 @@
 
     p = u->str;
 
-    while (len-- > 0) {
-        Py_UNICODE_COPY(p, str->str, str->length);
-        p += str->length;
-    }
+    if (str->length == 1 && len > 0) {
+        Py_UNICODE_FILL(p, str->str[0], len);
+    } else
+        while (len-- > 0) {
+            Py_UNICODE_COPY(p, str->str, str->length);
+            p += str->length;
+        }
 
     return (PyObject*) u;
 }
