diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c
index 9592b93..11cfb76 100644
--- a/drivers/rtc/interface.c
+++ b/drivers/rtc/interface.c
@@ -428,7 +428,7 @@ int rtc_alarm_irq_enable(struct rtc_device *rtc, unsigned int enabled)
 			rtc_timer_remove(rtc, &rtc->aie_timer);
 	}
 
-	if (err)
+	if (err || !rtc->timerqueue.next)
 		/* nothing */;
 	else if (!rtc->ops)
 		err = -ENODEV;
