diff --git a/contrib/hstore/hstore_op.c b/contrib/hstore/hstore_op.c
index 2338bbf44bd03ae19f9f2646d7bcacec38d9c84c..cc1a162dacb0d205c9e87762ca4aed2cd5bb6779 100644
--- a/contrib/hstore/hstore_op.c
+++ b/contrib/hstore/hstore_op.c
@@ -1,5 +1,5 @@
 /*
- * $PostgreSQL: pgsql/contrib/hstore/hstore_op.c,v 1.14 2009/09/30 19:50:22 tgl Exp $
+ * $PostgreSQL: pgsql/contrib/hstore/hstore_op.c,v 1.15 2009/09/30 21:26:17 tgl Exp $
  */
 #include "postgres.h"
 
@@ -1236,8 +1236,10 @@ hstore_hash(PG_FUNCTION_ARGS)
 	 * but we make it explicit here.
 	 */
 	Assert(VARSIZE(hs) ==
-		   CALCDATASIZE(HS_COUNT(hs),
-						HSE_ENDPOS(ARRPTR(hs)[2*HS_COUNT(hs) - 1])));
+		   (HS_COUNT(hs) != 0 ?
+			CALCDATASIZE(HS_COUNT(hs),
+						 HSE_ENDPOS(ARRPTR(hs)[2*HS_COUNT(hs) - 1])) :
+			HSHRDSIZE));
 
 	PG_FREE_IF_COPY(hs,0);
 	PG_RETURN_DATUM(hval);