diff --git a/src/chars.c b/src/chars.c
index ba134d5eefeaa7492853660585c75471ba4731a8..a7200f942deb0d0d5043574b590410c803c30bf8 100644
--- a/src/chars.c
+++ b/src/chars.c
@@ -487,9 +487,6 @@ char *revstrstr(const char *haystack, const char *needle,
     if (needle_len == 0)
 	return (char *)pointer;
 
-    if (strlen(haystack) < needle_len)
-	return NULL;
-
     if (tail_len < needle_len)
 	pointer += tail_len - needle_len;
 
@@ -513,9 +510,6 @@ char *revstrcasestr(const char *haystack, const char *needle,
     if (needle_len == 0)
 	return (char *)pointer;
 
-    if (strlen(haystack) < needle_len)
-	return NULL;
-
     if (tail_len < needle_len)
 	pointer += tail_len - needle_len;
 
@@ -541,9 +535,6 @@ char *mbrevstrcasestr(const char *haystack, const char *needle,
 	if (needle_len == 0)
 	    return (char *)pointer;
 
-	if (mbstrlen(haystack) < needle_len)
-	    return NULL;
-
 	if (tail_len < needle_len)
 	    pointer += tail_len - needle_len;