diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index 5f64575194c72e6895008a3c40b525b9ee6f85f7..26bb29096e47c40486e50b095897cd82761f3430 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -11573,6 +11573,7 @@ static void *do_monitor(void *data)
 							&& !analog_p->fxsoffhookstate
 							&& !last->owner
 							&& !ast_strlen_zero(last->mailbox)
+							&& !analog_p->subs[SUB_REAL].owner /* could be a recall ring from a flash hook hold */
 							&& (thispass - analog_p->onhooktime > 3)) {
 							res = has_voicemail(last);
 							if (analog_p->msgstate != res) {