  In the node-weighted prize-collecting Steiner tree problem (NW-PCST) we are
given an undirected graph $G=(V,E)$, non-negative costs $c(v)$ and penalties
$\pi(v)$ for each $v \in V$. The goal is to find a tree $T$ that minimizes the
total cost of the vertices spanned by $T$ plus the total penalty of vertices
not in $T$. This problem is well-known to be set-cover hard to approximate.
Moss and Rabani (STOC'01) presented a primal-dual
Lagrangean-multiplier-preserving $O(\ln |V|)$-approximation algorithm for this
problem. We show a serious problem with the algorithm, and present a new,
fundamentally different primal-dual method achieving the same performance
guarantee. Our algorithm introduces several novel features to the primal-dual
method that may be of independent interest.
