diff --git a/contrib/hstore/hstore_compat.c b/contrib/hstore/hstore_compat.c
index 033d945f9ca7a150d80f60d6cbdbbeda294ee18c..ca2777cd8d8445109c5f9b4e2b8a740c4cb0f23e 100644
--- a/contrib/hstore/hstore_compat.c
+++ b/contrib/hstore/hstore_compat.c
@@ -1,5 +1,5 @@
 /*
- * $PostgreSQL: pgsql/contrib/hstore/hstore_compat.c,v 1.2 2010/02/26 02:00:32 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/hstore/hstore_compat.c,v 1.3 2010/09/16 02:54:01 tgl Exp $
  *
  * Notes on old/new hstore format disambiguation.
  *
@@ -180,7 +180,8 @@ hstoreValidOldFormat(HStore *hs)
 	if (hs->size_ & HS_FLAG_NEWVERSION)
 		return 0;
 
-	Assert(sizeof(HOldEntry) == sizeof(HEntry));
+	/* New format uses an HEntry for key and another for value */
+	Assert(sizeof(HOldEntry) == (2 * sizeof(HEntry)));
 
 	if (count == 0)
 		return 2;
diff --git a/contrib/hstore/hstore_gist.c b/contrib/hstore/hstore_gist.c
index db58fb62ddfd768b8ebb2850553564e77cc757d8..6fe1860f3bb5d1f1177a34b6afb6c11e2199a0f9 100644
--- a/contrib/hstore/hstore_gist.c
+++ b/contrib/hstore/hstore_gist.c
@@ -1,5 +1,5 @@
 /*
- * $PostgreSQL: pgsql/contrib/hstore/hstore_gist.c,v 1.12 2010/02/26 02:00:32 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/hstore/hstore_gist.c,v 1.13 2010/09/16 02:54:01 tgl Exp $
  */
 #include "postgres.h"
 
@@ -168,28 +168,14 @@ ghstore_compress(PG_FUNCTION_ARGS)
 	PG_RETURN_POINTER(retval);
 }
 
+/*
+ * Since type ghstore isn't toastable (and doesn't need to be),
+ * this function can be a no-op.
+ */
 Datum
 ghstore_decompress(PG_FUNCTION_ARGS)
 {
-	GISTENTRY  *entry = (GISTENTRY *) PG_GETARG_POINTER(0);
-	GISTENTRY  *retval;
-	HStore	   *key;
-
-	key = DatumGetHStoreP(entry->key);
-
-	if (key != (HStore *) DatumGetPointer(entry->key))
-	{
-		/* need to pass back the decompressed item */
-		retval = palloc(sizeof(GISTENTRY));
-		gistentryinit(*retval, PointerGetDatum(key),
-					  entry->rel, entry->page, entry->offset, entry->leafkey);
-		PG_RETURN_POINTER(retval);
-	}
-	else
-	{
-		/* we can return the entry as-is */
-		PG_RETURN_POINTER(entry);
-	}
+	PG_RETURN_POINTER(PG_GETARG_POINTER(0));
 }
 
 Datum