diff --git a/src/include/catalog/pg_subscription.h b/src/include/catalog/pg_subscription.h
index 599c2e4422..4dd7aa956b 100644
--- a/src/include/catalog/pg_subscription.h
+++ b/src/include/catalog/pg_subscription.h
@@ -54,6 +54,17 @@ CATALOG(pg_subscription,6100,SubscriptionRelationId) BKI_SHARED_RELATION BKI_ROW
 
 	Oid			subdbid BKI_LOOKUP(pg_database);	/* Database the
 													 * subscription is in. */
+
+	/*
+	 * All changes finished at this LSN are skipped.
+	 *
+	 * Note that XLogRecPtr, pg_lsn in the catalog, is 8-byte alignment
+	 * (TYPALIGN_DOUBLE) and it does not match the alignment on some platforms
+	 * such as AIX.  Therefore subskiplsn needs to be placed here so it is
+	 * always aligned.
+	 */
+	XLogRecPtr	subskiplsn;
+
 	NameData	subname;		/* Name of the subscription */
 
 	Oid			subowner BKI_LOOKUP(pg_authid); /* Owner of the subscription */
@@ -71,9 +82,6 @@ CATALOG(pg_subscription,6100,SubscriptionRelationId) BKI_SHARED_RELATION BKI_ROW
 	bool		subdisableonerr;	/* True if a worker error should cause the
 									 * subscription to be disabled */
 
-	XLogRecPtr	subskiplsn;		/* All changes finished at this LSN are
-								 * skipped */
-
 #ifdef CATALOG_VARLEN			/* variable-length fields start here */
 	/* Connection string to the publisher */
 	text		subconninfo BKI_FORCE_NOT_NULL;
