A vertex coloring of a tree is called convex if each color induces a connected component. The NP-hard CONVEX RECOLORING problem on vertex-colored trees asks for a minimum-weight change of colors to achieve a convex coloring. For the non-uniformly weighted model, where the cost of changing a vertex v to color c depends on both v and c, we improve the running time on trees from O(Delta(k) . kn) to O(3(k) . kn ), where A is the maximum vertex degree of the input tree T, k, is the number of colors, and n is the number of vertices in T. In the uniformly weighted case, where costs depend only on the vertex to be recolored, one can instead parameterize on the number of bad colors beta <= k, which is the number of colors that do not already induce a connected component. Here, we improve the running time from O(Delta beta . beta n) to O(3(beta). beta n). For the case where the weights are integers bounded by M, using fast subset convolution, we further improve the running time with respect to the exponential part to O(2(k) . k(4)n(2)M log(2) (nM)) and O(2(beta).beta(4)n(2) M log(2) (nM)), respectively. Finally, we use fast subset convolution to improve the exponential part of the running time of the related I-CONNECTED COLORING COMPLETION problem.