diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
index c790d50..a47c2d0 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -387,7 +387,7 @@ xf86platformProbeDev(DriverPtr drvp)
     Bool foundScreen = FALSE;
     GDevPtr *devList;
     const unsigned numDevs = xf86MatchDevice(drvp->driverName, &devList);
-    int i, j;
+    int i, j, flags;
 
     /* find the main device or any device specificed in xorg.conf */
     for (i = 0; i < numDevs; i++) {
@@ -415,7 +415,11 @@ xf86platformProbeDev(DriverPtr drvp)
         if (j == xf86_num_platform_devices)
              continue;
 
-        foundScreen = probeSingleDevice(&xf86_platform_devices[j], drvp, devList[i], 0);
+        flags = 0;
+        if (!devList[i]->active)
+            flags |= PLATFORM_PROBE_GPU_SCREEN;
+
+        foundScreen = probeSingleDevice(&xf86_platform_devices[j], drvp, devList[i], flags);
         if (!foundScreen)
             continue;
     }
