diff --git a/src/block_alloc_h.h b/src/block_alloc_h.h
index 238787a8fad44abb9582ef7acd92579bc52205e9..4bec6326fc6f78665de4d00c17a1f69affe60693 100644
--- a/src/block_alloc_h.h
+++ b/src/block_alloc_h.h
@@ -11,7 +11,7 @@ void PIKE_CONCAT3(count_memory_in_,DATA,s)(INT32 *num, INT32 *size);	\
 #define PTR_HASH_ALLOC(DATA,BSIZE)				\
 BLOCK_ALLOC(DATA,BSIZE)						\
 extern struct DATA **PIKE_CONCAT(DATA,_hash_table);		\
-extern int PIKE_CONCAT(DATA,_hash_table_size);			\
+extern ptrdiff_t PIKE_CONCAT(DATA,_hash_table_size);		\
 struct DATA *PIKE_CONCAT(find_,DATA)(void *ptr);		\
 struct DATA *PIKE_CONCAT(get_,DATA)(void *ptr);			\
 int PIKE_CONCAT3(check_,DATA,_semafore)(void *ptr);		\