diff -Naur Mesa-8.0.4-old/src/mesa/drivers/dri/intel/intel_screen.c Mesa-8.0.4-new/src/mesa/drivers/dri/intel/intel_screen.c
--- Mesa-8.0.4-old/src/mesa/drivers/dri/intel/intel_screen.c	2012-03-22 10:10:16.000000000 -0700
+++ Mesa-8.0.4-new/src/mesa/drivers/dri/intel/intel_screen.c	2012-07-16 12:27:37.000000000 -0700
@@ -118,13 +118,15 @@
    if (intel == NULL)
       return;
 
-   if (intel->gen < 4)
-      INTEL_FIREVERTICES(intel);
+   if (intel != NULL) {
+      if (intel->gen < 4)
+         INTEL_FIREVERTICES(intel);
 
-   intel->need_throttle = true;
+      intel->need_throttle = true;
 
-   if (intel->batch.used)
-      intel_batchbuffer_flush(intel);
+      if (intel->batch.used)
+         intel_batchbuffer_flush(intel);
+   }
 }
 
 static const struct __DRI2flushExtensionRec intelFlushExtension = {
