Sort a list by items from another list

I know that there are a lot of other issues here that seem to be similar, but I have not found anything that can give me a clue.

I have lists

list1 = {{A, 12}, {B, 10}, {C, 4}}; (* ordered according to the second column *)
list2 = {{B, 5}, {A, 4}, {C, 1}}; (* ordered according to the second column *)

Now I want to sort list2according to liste1-order so the result should be:

(* {{A, 4}, {B, 5}, {C, 1}} *)