diff --git a/icd/intel/cmd_pipeline.c b/icd/intel/cmd_pipeline.c
index 6d1b0f5..131a739 100644
--- a/icd/intel/cmd_pipeline.c
+++ b/icd/intel/cmd_pipeline.c
@@ -2036,6 +2036,7 @@
 
 static void emit_ds(struct intel_cmd *cmd)
 {
+    const struct intel_render_pass *rp = cmd->bind.render_pass;
     const struct intel_fb *fb = cmd->bind.fb;
     const struct intel_ds_view *ds = fb->ds;
 
@@ -2049,9 +2050,9 @@
     }
 
     cmd_wa_gen6_pre_ds_flush(cmd);
-    gen6_3DSTATE_DEPTH_BUFFER(cmd, ds, fb->optimal_ds);
-    gen6_3DSTATE_STENCIL_BUFFER(cmd, ds, fb->optimal_ds);
-    gen6_3DSTATE_HIER_DEPTH_BUFFER(cmd, ds, fb->optimal_ds);
+    gen6_3DSTATE_DEPTH_BUFFER(cmd, ds, rp->optimal_ds);
+    gen6_3DSTATE_STENCIL_BUFFER(cmd, ds, rp->optimal_ds);
+    gen6_3DSTATE_HIER_DEPTH_BUFFER(cmd, ds, rp->optimal_ds);
 
     if (cmd_gen(cmd) >= INTEL_GEN(7))
         gen7_3DSTATE_CLEAR_PARAMS(cmd, 0);
diff --git a/icd/intel/fb.c b/icd/intel/fb.c
index 30ec8dc..1fd9678 100644
--- a/icd/intel/fb.c
+++ b/icd/intel/fb.c
@@ -97,19 +97,8 @@
         }
 
         fb->ds = ds;
-
-        switch (att->layout) {
-        case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL:
-        case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL:
-            fb->optimal_ds = true;
-            break;
-        default:
-            fb->optimal_ds = false;
-            break;
-        }
     } else {
         fb->ds = NULL;
-        fb->optimal_ds = false;
     }
 
     fb->width = width;
@@ -173,6 +162,16 @@
     rp->depthStencilLayout = info->depthStencilLayout;
     rp->depthStencilFormat = info->depthStencilFormat;
 
+    switch (info->depthStencilLayout) {
+    case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL:
+    case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL:
+        rp->optimal_ds = true;
+        break;
+    default:
+        rp->optimal_ds = false;
+        break;
+    }
+
     /* TODO: MSAA resolves if/when we support MSAA. */
     for (i = 0; i < info->colorAttachmentCount; i++)
         assert(info->pColorStoreOps[i] != VK_ATTACHMENT_STORE_OP_RESOLVE_MSAA);
diff --git a/icd/intel/fb.h b/icd/intel/fb.h
index fe1cba4..fa9c1c1 100644
--- a/icd/intel/fb.h
+++ b/icd/intel/fb.h
@@ -36,7 +36,6 @@
     uint32_t rt_count;
 
     const struct intel_ds_view *ds;
-    bool optimal_ds;
 
     uint32_t sample_count;
     uint32_t width;
@@ -62,6 +61,7 @@
     uint32_t stencilLoadClearValue;
     VkImageLayout depthStencilLayout;
     VkFormat depthStencilFormat;
+    bool optimal_ds;
 };
 
 static inline struct intel_fb *intel_fb(VkFramebuffer fb)
