diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c
index e999a8e12cb8f4a1dfaf2f2f6f1995e709277a35..7a741a779c839c1eb01bf433c5ea12aff10c7db1 100644
--- a/contrib/hstore/hstore_io.c
+++ b/contrib/hstore/hstore_io.c
@@ -340,7 +340,8 @@ hstoreUniquePairs(Pairs *a, int32 l, int32 *buflen)
 		{
 			*buflen += res->keylen + ((res->isnull) ? 0 : res->vallen);
 			res++;
-			memcpy(res, ptr, sizeof(Pairs));
+			if (res != ptr)
+				memcpy(res, ptr, sizeof(Pairs));
 		}
 
 		ptr++;