diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c
index 3e75cd1146d4fcdcb6b9311843623b24d91ccd21..3d3a7744b528e5aa5cfd1e68e4682df8fced0e69 100644
--- a/src/backend/nodes/outfuncs.c
+++ b/src/backend/nodes/outfuncs.c
@@ -1753,6 +1753,18 @@ _outUniquePath(StringInfo str, const UniquePath *node)
 	WRITE_NODE_FIELD(uniq_exprs);
 }
 
+static void
+_outGatherPath(StringInfo str, const GatherPath *node)
+{
+	WRITE_NODE_TYPE("GATHERPATH");
+
+	_outPathInfo(str, (const Path *) node);
+
+	WRITE_NODE_FIELD(subpath);
+	WRITE_INT_FIELD(num_workers);
+	WRITE_BOOL_FIELD(single_copy);
+}
+
 static void
 _outNestPath(StringInfo str, const NestPath *node)
 {
@@ -3293,6 +3305,9 @@ _outNode(StringInfo str, const void *obj)
 			case T_UniquePath:
 				_outUniquePath(str, obj);
 				break;
+			case T_GatherPath:
+				_outGatherPath(str, obj);
+				break;
 			case T_NestPath:
 				_outNestPath(str, obj);
 				break;