I find it interesting that the Latin term for a fox is 'vulpes'. If you apply Grimm's law to this, it becomes "wulf" in Germanic. Now, in Latin, u v and w were interchangeable as long u (oo), and uniformly written as v. This is seen in Hawaiian as well, where some islanders pronounce the name of their home 'hava-yi', and others as 'hawa-yi'. Likewise, in Welsh, a 'w' is a long u, e.g. 'cwm'. So this leads me to consider the following theory.
Consider Latin Lupo - a wolf. If you swap some letters - a common occurrence in speech - think of people who say "ecsetera" and "arks" instead of "et-setera" or "arsk". Or consider "three" versus "third" - the r and the e swap places. Now, If you take Latin Lupo, it's quite plausible that at some stage it was 'ulpo'. Now, if you apply Grimm's law to that, you get 'ulf', which is the Norse Germanic word. So the original Indo-European word for a wild dog must have been 'ulf' or 'ulp'. But since Latin uses 'vulpes' or 'uulpes', to spell it correctly, for a fox, it suggests that Latin added that word later, since it's closer to the Germanic letter-order of 'ulf'. This suggests that the Latins had the word "lupo" for a wolf, but then, when they went further north, and met the Germanic tribes, they encountered foxes, and decided to borrow the Germanic word 'ulf' for a fox. Hence, a wolf is 'lup-', and a fox is 'ulp-'. IE it's the same word, and reintroduced in the Germanic letter-order.
This is an interesting occurrence, since the Latins developed their civilisation sooner (into the Roman Empire), and hence, the Germanics tended to borrow from Latin, not the other way around, as seen in this case.