diff --git a/src/backend/optimizer/path/equivclass.c b/src/backend/optimizer/path/equivclass.c
index 8f6f005ecb..89ab29fe8e 100644
--- a/src/backend/optimizer/path/equivclass.c
+++ b/src/backend/optimizer/path/equivclass.c
@@ -899,11 +899,19 @@ is_exprlist_member(Expr *node, List *exprs)
 	foreach(lc, exprs)
 	{
 		Expr	   *expr = (Expr *) lfirst(lc);
+		List	   *tlexprs;
 
 		if (expr && IsA(expr, TargetEntry))
+		{
 			expr = ((TargetEntry *) expr)->expr;
+		}
+
+		tlexprs = pull_var_clause((Node *) expr,
+								   PVC_INCLUDE_AGGREGATES |
+								   PVC_INCLUDE_WINDOWFUNCS |
+								   PVC_INCLUDE_PLACEHOLDERS);
 
-		if (equal(node, expr))
+		if (list_member(tlexprs, node))
 			return true;
 	}
 	return false;
