diff -ur mga.0/src/mga_driver.c mga.1/src/mga_driver.c
--- mga.0/src/mga_driver.c	2007-03-07 14:17:40.000000000 -0500
+++ mga.1/src/mga_driver.c	2007-03-07 15:17:35.000000000 -0500
@@ -1488,7 +1488,14 @@
 	/* Check that the returned depth is one we support */
 	switch (pScrn->depth) {
 	case 8:
+	    break;
 	case 15:
+        if (pMga->is_G200SE_A) {
+	        xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+		           "Given depth (%d) is not supported by this driver\n",
+		           pScrn->depth);
+	        return FALSE;
+        }
 	case 16:
 	case 24:
 	    /* OK */
@@ -1501,24 +1508,6 @@
 	}
     }
 
-    if (pMga->is_G200SE_A) {
-        pMga->FbAddress = pMga->PciInfo->memBase[0] & 0xff800000;
-        pMga->IOAddress = pMga->PciInfo->memBase[1] & 0xffffc000;
-        pMga->ILOADAddress = pMga->PciInfo->memBase[2] & 0xffffc000;
-        pScrn->videoRam = 8192;
-        pMga->FbMapSize = pScrn->videoRam * 1024;
-        MGAMapMem(pScrn);
-        if (INREG(0x1E24) == 0x1) {
-            if ((pScrn->bitsPerPixel == 24) && (pScrn->depth == 24)) {
-    	        xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-	    	           "Given color and fb depth combination not supported by this driver\n",
-		               pScrn->depth);
-        	    return FALSE;
-            }
-        }
-        MGAUnmapMem(pScrn);
-    }
-
     xf86PrintDepthBpp(pScrn);
 
     /*
