diff --git a/src/backend/executor/nodeGather.c b/src/backend/executor/nodeGather.c
index b368b48..14b991f 100644
--- a/src/backend/executor/nodeGather.c
+++ b/src/backend/executor/nodeGather.c
@@ -403,11 +403,11 @@ ExecShutdownGatherWorkers(GatherState *node)
 		for (i = 0; i < node->nreaders; ++i)
 			DestroyTupleQueueReader(node->reader[i]);
 		node->reader = NULL;
-	}
 
-	/* Now shut down the workers. */
-	if (node->pei != NULL)
-		ExecParallelFinish(node->pei);
+		/* Now shut down the workers. */
+		if (node->pei != NULL)
+			ExecParallelFinish(node->pei);
+	}
 }
 
 /* ----------------------------------------------------------------
