diff --git a/src/broadcom/vulkan/v3dv_cmd_buffer.c b/src/broadcom/vulkan/v3dv_cmd_buffer.c
index 283591e..89563d4 100644
--- a/src/broadcom/vulkan/v3dv_cmd_buffer.c
+++ b/src/broadcom/vulkan/v3dv_cmd_buffer.c
@@ -3666,9 +3666,7 @@
    }
 
    state->meta.pipeline = v3dv_pipeline_to_handle(state->pipeline);
-   if (state->meta.pipeline) {
-      memcpy(&state->meta.dynamic, &state->dynamic, sizeof(state->dynamic));
-   }
+   memcpy(&state->meta.dynamic, &state->dynamic, sizeof(state->dynamic));
 
    /* We expect that meta operations are graphics-only and won't alter
     * compute state.
@@ -3736,14 +3734,15 @@
       v3dv_CmdBindPipeline(v3dv_cmd_buffer_to_handle(cmd_buffer),
                            pipeline_binding,
                            state->meta.pipeline);
-      if (pipeline_binding == VK_PIPELINE_BIND_POINT_GRAPHICS) {
-         memcpy(&state->dynamic, &state->meta.dynamic, sizeof(state->dynamic));
-         state->dirty |= dirty_dynamic_state;
-      }
    } else {
       state->pipeline = VK_NULL_HANDLE;
    }
 
+   if (dirty_dynamic_state) {
+      memcpy(&state->dynamic, &state->meta.dynamic, sizeof(state->dynamic));
+      state->dirty |= dirty_dynamic_state;
+   }
+
    if (state->meta.has_descriptor_state) {
       if (state->meta.descriptor_state.valid != 0) {
          memcpy(&state->descriptor_state[VK_PIPELINE_BIND_POINT_GRAPHICS],
