diff --git a/src/calls-ringer.c b/src/calls-ringer.c
index 61fdc6f..12ba93e 100644
--- a/src/calls-ringer.c
+++ b/src/calls-ringer.c
@@ -194,7 +194,8 @@ on_feedback_ended (LfbEvent    *event,
   /* When no feedback is available on the system (e.g. no vibration motor or LEDs)
    * it will get ended immediately on triggering. Changing the target state will
    * break loop that would otherwise occur. */
-  if (lfb_event_get_end_reason (event) == LFB_EVENT_END_REASON_NOT_FOUND)
+  if (lfb_event_get_end_reason (event) == LFB_EVENT_END_REASON_NOT_FOUND ||
+      lfb_event_get_end_reason (event) == LFB_EVENT_END_REASON_EXPLICIT)
     self->target_state = CALLS_RING_STATE_INACTIVE;
 
   set_ring_state (self, CALLS_RING_STATE_INACTIVE);