diff --git a/src/stralloc.c b/src/stralloc.c
index ea820ec86e7415c46610ce6e844b77be54fcd4bb..fda52dc711959f030251feb18e60f792cd89c9ab 100644
--- a/src/stralloc.c
+++ b/src/stralloc.c
@@ -526,6 +526,11 @@ struct pike_string *binary_findstring(const char *foo, ptrdiff_t l)
   return internal_findstring(foo, l, 0, StrHash(foo,l));
 }
 
+struct pike_string *binary_findstring_shift(const void *foo, enum size_shift shift, ptrdiff_t l)
+{
+  return internal_findstring(foo, l, shift, low_do_hash(foo,l,shift));
+}
+
 struct pike_string *findstring(const char *foo)
 {
   return binary_findstring(foo, strlen(foo));
diff --git a/src/stralloc.h b/src/stralloc.h
index e2e2d84e56d3be9f14fcbe9c6d57b031eae79c64..e779925c30246291263e977e23cf5802720ff3b9 100644
--- a/src/stralloc.h
+++ b/src/stralloc.h
@@ -305,6 +305,7 @@ void generic_memcpy(PCHARP to,
                     ptrdiff_t len);
 PMOD_EXPORT void pike_string_cpy(PCHARP to, const struct pike_string *from);
 struct pike_string *binary_findstring(const char *foo, ptrdiff_t l);
+struct pike_string *binary_findstring_shift(const void *foo, enum size_shift shift, ptrdiff_t l);
 struct pike_string *findstring(const char *foo);
 
 PMOD_EXPORT struct pike_string *debug_begin_shared_string(size_t len) ATTRIBUTE((malloc));