diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index 60308d7..2a58e58 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -107,6 +107,14 @@
         self.checkequal(2, 'aaa', 'count', '', -1)
         self.checkequal(4, 'aaa', 'count', '', -10)
 
+        self.checkequal(1, '', 'count', '')
+        self.checkequal(0, '', 'count', '', 1, 1)
+        self.checkequal(0, '', 'count', '', sys.maxsize, 0)
+
+        self.checkequal(0, '', 'count', 'xx')
+        self.checkequal(0, '', 'count', 'xx', 1, 1)
+        self.checkequal(0, '', 'count', 'xx', sys.maxsize, 0)
+
         self.checkraises(TypeError, 'hello', 'count')
         self.checkraises(TypeError, 'hello', 'count', 42)
 
@@ -156,6 +164,14 @@
         self.checkraises(TypeError, 'hello', 'find')
         self.checkraises(TypeError, 'hello', 'find', 42)
 
+        self.checkequal(0, '', 'find', '')
+        self.checkequal(-1, '', 'find', '', 1, 1)
+        self.checkequal(-1, '', 'find', '', sys.maxsize, 0)
+
+        self.checkequal(-1, '', 'find', 'xx')
+        self.checkequal(-1, '', 'find', 'xx', 1, 1)
+        self.checkequal(-1, '', 'find', 'xx', sys.maxsize, 0)
+
         # For a variety of combinations,
         #    verify that str.find() matches __contains__
         #    and that the found substring is really at that location
diff --git a/Objects/stringlib/count.h b/Objects/stringlib/count.h
index 367a15c..eba37e9 100644
--- a/Objects/stringlib/count.h
+++ b/Objects/stringlib/count.h
@@ -13,11 +13,10 @@
 {
     Py_ssize_t count;
 
-    if (sub_len == 0) {
-        if (str_len < 0)
-            return 0; /* start > len(str) */
+    if (str_len < 0)
+        return 0; /* start > len(str) */
+    if (sub_len == 0)
         return str_len + 1;
-    }
 
     count = fastsearch(str, str_len, sub, sub_len, FAST_COUNT);
 
diff --git a/Objects/stringlib/find.h b/Objects/stringlib/find.h
index 46337e1..bf06530 100644
--- a/Objects/stringlib/find.h
+++ b/Objects/stringlib/find.h
@@ -14,11 +14,10 @@
 {
     Py_ssize_t pos;
 
-    if (sub_len == 0) {
-        if (str_len < 0)
-            return -1;
+    if (str_len < 0)
+        return -1;
+    if (sub_len == 0)
         return offset;
-    }
 
     pos = fastsearch(str, str_len, sub, sub_len, FAST_SEARCH);
 
