{
        struct drm_device *dev = &mdev->base;
        u32 option, option2;
+       u8 crtcext3;
 
        switch (mdev->type) {
        case G200_SE_A:
        if (mdev->rmmio == NULL)
                return -ENOMEM;
 
+       RREG_ECRT(0x03, crtcext3);
+       crtcext3 |= MGAREG_CRTCEXT3_MGAMODE;
+       WREG_ECRT(0x03, crtcext3);
+
        return 0;
 }
 
 
 
 static void mgag200_init_regs(struct mga_device *mdev)
 {
-       u8 crtc11, crtcext3, crtcext4, misc;
+       u8 crtc11, crtcext4, misc;
 
        mgag200_set_dac_regs(mdev);
 
        WREG_CRT(14, 0);
        WREG_CRT(15, 0);
 
-       RREG_ECRT(0x03, crtcext3);
-
-       crtcext3 |= BIT(7); /* enable MGA mode */
        crtcext4 = 0x00;
 
-       WREG_ECRT(0x03, crtcext3);
        WREG_ECRT(0x04, crtcext4);
 
        RREG_CRT(0x11, crtc11);
 
 #define MGAREG_CRTCEXT1_VSYNCOFF       BIT(5)
 #define MGAREG_CRTCEXT1_HSYNCOFF       BIT(4)
 
+#define MGAREG_CRTCEXT3_MGAMODE                BIT(7)
+
 /* Cursor X and Y position */
 #define MGA_CURPOSXL 0x3c0c
 #define MGA_CURPOSXH 0x3c0d