diff --git a/src/pike_memory.c b/src/pike_memory.c
index ef8332ea9952c7c9e58145804cddc1bf0ddb4e5b..87bea63820166820dc82f94453d8c4d62b373108 100644
--- a/src/pike_memory.c
+++ b/src/pike_memory.c
@@ -9,7 +9,7 @@
 #include "pike_macros.h"
 #include "gc.h"
 
-RCSID("$Id: pike_memory.c,v 1.29 1999/01/31 09:01:58 hubbe Exp $");
+RCSID("$Id: pike_memory.c,v 1.30 1999/02/23 11:18:36 marcus Exp $");
 
 /* strdup() is used by several modules, so let's provide it */
 #ifndef HAVE_STRDUP
@@ -222,7 +222,8 @@ unsigned INT32 hashstr(const unsigned char *str,INT32 maxn)
 {
   unsigned INT32 ret,c;
   
-  ret=str++[0];
+  if(!(ret=str++[0]))
+    return ret;
   for(; maxn>=0; maxn--)
   {
     c=str++[0];