diff --git a/contrib/amcheck/verify_nbtree.c b/contrib/amcheck/verify_nbtree.c
index 868c14ec8f..7a3b49865d 100644
--- a/contrib/amcheck/verify_nbtree.c
+++ b/contrib/amcheck/verify_nbtree.c
@@ -1104,7 +1104,7 @@ static inline bool
 invariant_leq_offset(BtreeCheckState *state, ScanKey key,
 					 OffsetNumber upperbound)
 {
-	int16		natts = state->rel->rd_rel->relnatts;
+	int16		natts = IndexRelationGetNumberOfKeyAttributes(state->rel);
 	int32		cmp;
 
 	cmp = _bt_compare(state->rel, natts, key, state->target, upperbound);
@@ -1123,7 +1123,7 @@ static inline bool
 invariant_geq_offset(BtreeCheckState *state, ScanKey key,
 					 OffsetNumber lowerbound)
 {
-	int16		natts = state->rel->rd_rel->relnatts;
+	int16		natts = IndexRelationGetNumberOfKeyAttributes(state->rel);
 	int32		cmp;
 
 	cmp = _bt_compare(state->rel, natts, key, state->target, lowerbound);
@@ -1146,7 +1146,7 @@ invariant_leq_nontarget_offset(BtreeCheckState *state,
 							   Page nontarget, ScanKey key,
 							   OffsetNumber upperbound)
 {
-	int16		natts = state->rel->rd_rel->relnatts;
+	int16		natts = IndexRelationGetNumberOfKeyAttributes(state->rel);
 	int32		cmp;
 
 	cmp = _bt_compare(state->rel, natts, key, nontarget, upperbound);
