--- hw/xfree86/modes/xf86EdidModes.c.orig 2007-09-29 17:01:58.097559000 +0200 +++ hw/xfree86/modes/xf86EdidModes.c 2007-09-29 17:03:07.269882000 +0200 @@ -401,8 +401,10 @@ xf86DDCMonitorSet(int scrnIndex, MonPtr Monitor->DDC = DDC; - Monitor->widthmm = 10 * DDC->features.hsize; - Monitor->heightmm = 10 * DDC->features.vsize; + if (!Monitor->widthmm) + Monitor->widthmm = 10 * DDC->features.hsize; + if (!Monitor->heightmm) + Monitor->heightmm = 10 * DDC->features.vsize; /* If this is a digital display, then we can use reduced blanking */ if (DDC->features.input_type)