diff --git a/arch/cpu/cc26xx-cc13xx/rf-core/rf-core.c b/arch/cpu/cc26xx-cc13xx/rf-core/rf-core.c
index db3c6adb388fdb9f12b58db67b4aa5a179a90570..7e638509d98d66c84b2da1d147a75cdde8224cb7 100644
--- a/arch/cpu/cc26xx-cc13xx/rf-core/rf-core.c
+++ b/arch/cpu/cc26xx-cc13xx/rf-core/rf-core.c
@@ -512,9 +512,13 @@ rf_core_setup_interrupts(void)
 void
 rf_core_cmd_done_en(bool fg)
 {
-  uint32_t irq = fg ? IRQ_LAST_FG_COMMAND_DONE : IRQ_LAST_COMMAND_DONE;
+  uint32_t irq = 0;
   const uint32_t enabled_irqs = rf_core_poll_mode ? ENABLED_IRQS_POLL_MODE : ENABLED_IRQS;
 
+  if(!rf_core_poll_mode) {
+    irq = fg ? IRQ_LAST_FG_COMMAND_DONE : IRQ_LAST_COMMAND_DONE;
+  }
+
   HWREG(RFC_DBELL_NONBUF_BASE + RFC_DBELL_O_RFCPEIFG) = enabled_irqs;
   HWREG(RFC_DBELL_NONBUF_BASE + RFC_DBELL_O_RFCPEIEN) = enabled_irqs | irq;
 }