diff --git a/src/backend/executor/execPartition.c b/src/backend/executor/execPartition.c
index 1fa4d84c42..d6b478ec33 100644
--- a/src/backend/executor/execPartition.c
+++ b/src/backend/executor/execPartition.c
@@ -976,7 +976,8 @@ ExecInitPartitionInfo(ModifyTableState *mtstate, EState *estate,
 				conv_tl = map_partition_varattnos((List *) action->targetList,
 												  firstVarno,
 												  partrel, firstResultRel);
-				conv_tl = adjust_partition_tlist(conv_tl, map);
+				if (conv_tl != NIL)
+					conv_tl = adjust_partition_tlist(conv_tl, map);
 				tupdesc = ExecTypeFromTL(conv_tl);
 				/* XXX gotta pfree conv_tl and tupdesc? */
 
