diff --git a/src/backend/access/transam/xloginsert.c b/src/backend/access/transam/xloginsert.c
index fb39e70..3f56d14 100644
--- a/src/backend/access/transam/xloginsert.c
+++ b/src/backend/access/transam/xloginsert.c
@@ -494,8 +494,8 @@ XLogRecordAssemble(RmgrId rmid, uint8 info,
 		XLogRecordBlockCompressHeader cbimg;
 		bool		samerel;
 		bool		is_compressed = false;
-		uint16	hole_length;
-		uint16	hole_offset;
+		uint16	hole_length = 0;
+		uint16	hole_offset = 0;
 
 		if (!regbuf->in_use)
 			continue;
@@ -546,7 +546,8 @@ XLogRecordAssemble(RmgrId rmid, uint8 info,
 
 			/*
 			 * The page needs to be backed up, so calculate its hole length
-			 * and offset.
+			 * and offset, but only if it's a standard page header, and if
+			 * there actually is a hole to compress out.
 			 */
 			if (regbuf->flags & REGBUF_STANDARD)
 			{
@@ -561,18 +562,6 @@ XLogRecordAssemble(RmgrId rmid, uint8 info,
 					hole_offset = lower;
 					hole_length = upper - lower;
 				}
-				else
-				{
-					/* No "hole" to compress out */
-					hole_offset = 0;
-					hole_length = 0;
-				}
-			}
-			else
-			{
-				/* Not a standard page header, don't try to eliminate "hole" */
-				hole_offset = 0;
-				hole_length = 0;
 			}
 
 			/*
