We consider the following problem that we call the Shortest Two Disjoint Paths problem: given an undirected graph \(G=(V,E)\) with edge weight function \({w:E\rightarrow \mathbb {R}}\) , two terminals s and t in G, find two internally vertex-disjoint paths between s and t with minimum total weight. As shown recently by Schlotter and Sebő (2022), this problem becomes \(\textsf{NP}\) -hard if edges can have negative weights, even if the weight function is conservative, i.e., there are no cycles in G with negative total weight. We propose a polynomial-time algorithm that solves the Shortest Two Disjoint Paths problem for conservative weights in the case when the negative-weight edges form a constant number of trees in G.