--- chan_sip.c.orig 2008-01-31 20:52:49.000000000 +0100 +++ chan_sip.c 2008-07-11 20:21:16.000000000 +0200 @@ -15456,7 +15456,7 @@ { time_t t = time(NULL); - if (ast_test_flag(&peer->flags[1], SIP_PAGE2_SUBSCRIBEMWIONLY) && + if (!ast_test_flag(&peer->flags[1], SIP_PAGE2_SUBSCRIBEMWIONLY) || !peer->mwipvt) { /* We don't have a subscription */ peer->lastmsgcheck = t; /* Reset timer */ return FALSE;