intel: Only destroy object if it exists
diff --git a/icd/intel/shader.c b/icd/intel/shader.c
index 4014d82..3293275 100644
--- a/icd/intel/shader.c
+++ b/icd/intel/shader.c
@@ -85,7 +85,9 @@
 {
     struct intel_shader *sh = intel_shader_from_obj(obj);
 
-    shader_destroy_program(sh->ir->shader_program);
+    if (sh->ir) {
+        shader_destroy_program(sh->ir->shader_program);
+    }
     icd_free(sh->ir);
     intel_base_destroy(&sh->obj.base);
 }