diff --git a/src/backend/utils/adt/pg_lzcompress.c b/src/backend/utils/adt/pg_lzcompress.c
index ae6751929e3d98a96ce3b456af625d9b48ec8389..1c129b800b3b1a6622111f0edeeec5d63bb176ae 100644
--- a/src/backend/utils/adt/pg_lzcompress.c
+++ b/src/backend/utils/adt/pg_lzcompress.c
@@ -466,7 +466,7 @@ pglz_find_match(int16 *hstart, const char *input, const char *end,
 		 * Be happy with lesser good matches the more entries we visited. But
 		 * no point in doing calculation if we're at end of list.
 		 */
-		if (hent)
+		if (hent != INVALID_ENTRY_PTR)
 		{
 			if (len >= good_match)
 				break;