diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 7ef5e04f7e29de275ee81a7f7af888db564ed578..c9cb7010ba95bfc6f29df20ac0b5b0d4d560c2e6 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -10810,11 +10810,13 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
 		}
 
 		/* We have a succesful authentication, process the SDP portion if there is one */
-		if (!ast_strlen_zero(get_header(req, "Content-Type"))) {
+		if (!strcasecmp(get_header(req, "Content-Type"), "application/sdp") ) {
 			if (process_sdp(p, req)) {
 				/* Unacceptable codecs */
 				transmit_response_reliable(p, "488 Not acceptable here", req);
 				ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);	
+				if (option_debug)
+					ast_log(LOG_DEBUG, "No compatible codecs for this SIP call.\n");
 				return -1;
 			}
 		} else {
@@ -10834,8 +10836,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
 		/* Check number of concurrent calls -vs- incoming limit HERE */
 		if (option_debug)
 			ast_log(LOG_DEBUG, "Checking SIP call limits for device %s\n", p->username);
-		res = update_call_counter(p, INC_CALL_LIMIT);
-		if (res) {
+		if ((res = update_call_counter(p, INC_CALL_LIMIT))) {
 			if (res < 0) {
 				ast_log(LOG_NOTICE, "Failed to place call for user %s, too many calls\n", p->username);
 				transmit_response_reliable(p, "480 Temporarily Unavailable (Call limit) ", req);
@@ -10926,10 +10927,10 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
 					ast_mutex_lock(&p->lock);
 					c = NULL;
 				}
-			} else {
+			} else {	/* Pickup call in call group */
 				ast_mutex_unlock(&c->lock);
 				if (ast_pickup_call(c)) {
-					ast_log(LOG_NOTICE, "Nothing to pick up\n");
+					ast_log(LOG_NOTICE, "Nothing to pick up for %s\n", p->callid);
 					if (ignore)
 						transmit_response(p, "503 Unavailable", req);
 					else
@@ -10965,7 +10966,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
 			transmit_response(p, "100 Trying", req);
 		}
 	} else {
-		if (p && !ast_test_flag(&p->flags[0], SIP_NEEDDESTROY) && !ignore) {
+		if (p && !ast_test_flag(&p->flags[0], SIP_NEEDDESTROY)) {
 			if (!p->jointcapability) {
 				if (ignore)
 					transmit_response(p, "488 Not Acceptable Here (codec error)", req);
@@ -10973,7 +10974,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
 					transmit_response_reliable(p, "488 Not Acceptable Here (codec error)", req);
 				ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);	
 			} else {
-				ast_log(LOG_NOTICE, "Unable to create/find channel\n");
+				ast_log(LOG_NOTICE, "Unable to create/find SIP channel for this INVITE\n");
 				if (ignore)
 					transmit_response(p, "503 Unavailable", req);
 				else