Given an edge-weighted tree T = (V (T), E (T)) and its subtree T′, for any v ∈ V (T), the distance d (v, T′) is defined as the minimum weighted distance from v to any vertex in T′. The distance d (T, T′) is defined as the sum of all distances of the form d (v, T′) where v ∈ V (T). We give an algorithm to find a T′ that minimizes d (T, T′) and for all w ∈ V (T′), the degree degT′ (w) of w is not more than a prespecified bound db (w)(0 ≤ d b (w) ≤ degT (w)) at w. The worst-case running time of our algorithm is in O (| V (T) |). © 2009 Elsevier B.V. All rights reserved.