Merge
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 9db87be..4a1cce2 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -9075,12 +9075,15 @@
 
     kind1 = PyUnicode_KIND(str_obj);
     kind2 = PyUnicode_KIND(sub_obj);
-    kind = kind2;
+    kind = kind1;
     buf1 = PyUnicode_DATA(str_obj);
     buf2 = PyUnicode_DATA(sub_obj);
     if (kind2 != kind) {
-        if (kind2 > kind)
-            return 0;    
+        if (kind2 > kind) {
+            Py_DECREF(sub_obj);
+            Py_DECREF(str_obj);
+            return 0;
+        }
         buf2 = _PyUnicode_AsKind(sub_obj, kind);
     }
     if (!buf2)
@@ -10659,8 +10662,11 @@
     buf1 = PyUnicode_DATA(str);
     buf2 = PyUnicode_DATA(sub);
     if (kind2 != kind) {
-        if (kind2 > kind)
+        if (kind2 > kind) {
+            Py_DECREF(sub);
+            Py_DECREF(str);
             return 0;
+        }
         buf2 = _PyUnicode_AsKind(sub, kind);
     }
     if (!buf2) {