--- xorg-server-1.3.0.0/hw/xfree86/modes/xf86Crtc.c.deadloop 2007-10-01 11:46:05.000000000 +0200 +++ xorg-server-1.3.0.0/hw/xfree86/modes/xf86Crtc.c 2007-10-01 11:53:35.000000000 +0200 @@ -1415,9 +1415,10 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, if (preferred_mode) { + int found = 0; for (mode = output->probed_modes; mode; mode = mode->next) { - if (!strcmp (preferred_mode, mode->name)) + if (!found && !strcmp (preferred_mode, mode->name)) { if (mode != output->probed_modes) { @@ -1431,6 +1432,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, output->probed_modes = mode; } mode->type |= M_T_PREFERRED; + found = 1; } else mode->type &= ~M_T_PREFERRED;