diff --git a/src/backend/optimizer/path/equivclass.c b/src/backend/optimizer/path/equivclass.c
index 441f12f6c5..21c4ce27e9 100644
--- a/src/backend/optimizer/path/equivclass.c
+++ b/src/backend/optimizer/path/equivclass.c
@@ -3001,6 +3001,11 @@ add_child_join_rel_equivalences(PlannerInfo *root,
 				/* Yes, generate transformed child version */
 				Expr	   *child_expr;
 				Relids		new_relids;
+				int			i;
+
+				i = bms_next_member(child_joinrel->relids, -1);
+				if (i < 0)
+					continue;
 
 				if (parent_joinrel->reloptkind == RELOPT_JOINREL)
 				{
@@ -3059,7 +3064,7 @@ add_child_join_rel_equivalences(PlannerInfo *root,
 									cur_em->em_jdomain,
 									cur_em,
 									cur_em->em_datatype,
-									bms_next_member(child_joinrel->relids, -1));
+									i);
 			}
 		}
 	}
