diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index 45dcb91..e0e3cd0 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -2388,16 +2388,16 @@
 
     for (i = j = len - 1; i >= 0; ) {
         /* find a token */
-        while (i >= 0 && Py_UNICODE_ISSPACE(s[i]))
+        while (i >= 0 && ISSPACE(s[i]))
             i--;
         j = i;
-        while (i >= 0 && !Py_UNICODE_ISSPACE(s[i]))
+        while (i >= 0 && !ISSPACE(s[i]))
             i--;
         if (j > i) {
             if (maxcount-- <= 0)
                 break;
             SPLIT_ADD(s, i + 1, j + 1);
-            while (i >= 0 && Py_UNICODE_ISSPACE(s[i]))
+            while (i >= 0 && ISSPACE(s[i]))
                 i--;
             j = i;
         }
