diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
index 09f9e41..c78e89f 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/am/AccessMethodUtils.java
@@ -2992,11 +2992,6 @@
                             ArrayIndexUtil.getFlattenedKeyFieldNames(e.getUnnestList(), project);
                     List<Integer> arrayIndicator = ArrayIndexUtil.getArrayDepthIndicator(e.getUnnestList(), project);
 
-                    // Do not match a variable that we have previously matched.
-                    if (matchedFuncExprs.stream().anyMatch(f -> f.findFieldName(flattenedFieldName) != -1)) {
-                        continue;
-                    }
-
                     Triple<Integer, List<String>, IAType> fieldTriplet =
                             matchAssignFieldInUnnestAssignStack(assignOp.getVariables().get(assignVarIndex),
                                     assignVarIndex, optFuncExpr, subTree, datasetMetaVar, context, arrayIndicator,
