This document describes a genetic algorithm called PGA for solving the clustered Steiner tree problem (CluSteiner). The CluSteiner problem involves finding the minimum cost tree that connects target vertices while satisfying constraints that trees within each cluster are disjoint. PGA uses a two-level approach, first finding local trees for each cluster and then linking the trees. It represents solutions as an ordering of clusters and applies crossover and mutation genetic operators. Computational experiments show PGA improves on previous algorithms by up to 83% on test instances.