Index: channels/chan_zap.c =================================================================== --- channels/chan_zap.c (revision 120060) +++ channels/chan_zap.c (working copy) @@ -6242,7 +6242,10 @@ ast_hangup(chan); return NULL; } - f = ast_read(chan); + if (!(f = ast_read(chan))) { + ast_hangup(chan); + return NULL; + } ast_frfree(f); if (chan->_state == AST_STATE_RING || chan->_state == AST_STATE_RINGING)