diff --git a/presto-main/src/main/java/com/facebook/presto/cost/PlanNodeStatsEstimateMath.java b/presto-main/src/main/java/com/facebook/presto/cost/PlanNodeStatsEstimateMath.java
index <HASH>..<HASH> 100644
--- a/presto-main/src/main/java/com/facebook/presto/cost/PlanNodeStatsEstimateMath.java
+++ b/presto-main/src/main/java/com/facebook/presto/cost/PlanNodeStatsEstimateMath.java
@@ -110,6 +110,7 @@ public class PlanNodeStatsEstimateMath
         double newRowCount = left.getOutputRowCount() + right.getOutputRowCount();
 
         Stream.concat(left.getSymbolsWithKnownStatistics().stream(), right.getSymbolsWithKnownStatistics().stream())
+                .distinct()
                 .forEach(symbol -> {
                     statsBuilder.addSymbolStatistics(symbol,
                             addColumnStats(
Do not process same symbol twice when adding stats