diff --git a/src/backend/nodes/nodeFuncs.c b/src/backend/nodes/nodeFuncs.c
index a2bcca5..1c89abb 100644
--- a/src/backend/nodes/nodeFuncs.c
+++ b/src/backend/nodes/nodeFuncs.c
@@ -2870,9 +2870,10 @@ range_table_mutator(List *rtable,
 			case RTE_RELATION:
 				if (rte->tablesample)
 				{
-					MUTATE(rte->tablesample->args, rte->tablesample->args,
+					FLATCOPY(newrte->tablesample, rte->tablesample, TableSampleClause);
+					MUTATE(newrte->tablesample->args, rte->tablesample->args,
 						   List *);
-					MUTATE(rte->tablesample->repeatable,
+					MUTATE(newrte->tablesample->repeatable,
 						   rte->tablesample->repeatable, Node *);
 				}
 				break;
