cdc_decoder_update(header);
   }
 
+  if (Pico_mcd->m.state_flags & PCD_ST_CDD_CMD) {
+    /* pending delayed command */
+    cdd_process();
+    Pico_mcd->m.state_flags &= ~PCD_ST_CDD_CMD;
+  }
+
   /* drive latency */
   if (cdd.latency > 0)
   {
       Pico_mcd->s68k_regs[0x36+0] = 0x01;
     }
   }
-
-  if (Pico_mcd->m.state_flags & PCD_ST_CDD_CMD) {
-    /* pending delayed command */
-    cdd_process();
-    Pico_mcd->m.state_flags &= ~PCD_ST_CDD_CMD;
-  }
 }
 
 #define set_reg16(r, v) { \