Wrong metamode selected for different monitor arrangements, resulting in screen corruption

I have two monitor setups for my OpenSUSE 12.3 laptop with a GTX680M and a 1920x1080 LCD: an external HP 1920x1200 monitor over HDMI which I use at home, and a new Nixeus 2560x1440 over DP 1.2 which I use at work. Both setups can be configured manually with no problems, but when I tried something like:

Option         "metamodes" "DFP-0: 1920x1080 +0+360, DFP-4: 2560x1440 +1920+0; DFP-0: 1920x1080 +0+120, DFP-1: 1920x1200 +1920+0"

in xorg.conf the work setup would boot up fine but at home the laptop display would be panning around a 3840x1200 screen with only the DFP-0 part being rendered to (the rest would be garbage), and the 1920x1200 monitor would remain blank. If I swap the order of the metamodes my home setup comes up okay, but the work setup has a similar problem (DFP-0 pans around a 4480x1440 screen which is garbage everywhere outside the 1920x1080 viewport, and the 2560x1440 monitor remains blank). It seems that the first metamode is always selected no matter which monitors are actually detected. Xorg.0.log doesn’t show any other warnings or errors, and each setup seems to be detecting the monitors correctly. This is happening in drivers 310.40 and 313.26, x86_64. I believe configs like this have worked for me in the past, and it certainly seems to be a bug given the screen has garbage on it after X comes up.