unicode_char() uses get_latin1_char() to get latin1 singleton characters
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 1fb5742..b2279a6 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -1772,6 +1772,9 @@
 
     assert(ch <= MAX_UNICODE);
 
+    if (ch < 256)
+        return get_latin1_char(ch);
+
     unicode = PyUnicode_New(1, ch);
     if (unicode == NULL)
         return NULL;