diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index d57c35b8c9ca9bb7b531e0109bee46047c5fa672..e69a8a50c08bbac187c2ae91db3a09222d196fb1 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -2680,9 +2680,8 @@ static int sip_indicate(struct ast_channel *ast, int condition)
 	switch(condition) {
 	case AST_CONTROL_RINGING:
 		if (ast->_state == AST_STATE_RING) {
-			if ((!ast_test_flag(p, SIP_PROGRESS_SENT) ||
-			    (ast_test_flag(p, SIP_PROG_INBAND) == SIP_PROG_INBAND_NEVER)) &&
-			    ast_test_flag(p, SIP_PROG_INBAND) != SIP_PROG_INBAND_YES) {				
+			if (!ast_test_flag(p, SIP_PROGRESS_SENT) ||
+			    (ast_test_flag(p, SIP_PROG_INBAND) == SIP_PROG_INBAND_NEVER)) {				
 				/* Send 180 ringing if out-of-band seems reasonable */
 				transmit_response(p, "180 Ringing", &p->initreq);
 				ast_set_flag(p, SIP_RINGING);