diff --git a/CREDITS b/CREDITS
index 2466d9339584242ca519c7be195db901b6130286..8473ec89e97715d8ef15c395d557958ce312621f 100755
--- a/CREDITS
+++ b/CREDITS
@@ -32,12 +32,14 @@ Jean-Denis Girard - Various contributions from the South Pacific Islands
        jd-girard@esoft.pf             http://www.esoft.pf
 Jac Kersing - Various fixes
 Steven Critchfield - Seek and Trunc functions for playback and recording
-		critch@basesys.com
+       critch@basesys.com
 Jefferson Noxon - app_lookupcidname, app_db, and various other contributions
 Klaus-Peter Junghanns - in-band DTMF on SIP and MGCP
 Ross Finlayson - Dynamic RTP payload support
 Mahmut Fettahlioglu - Audio recording, music-on-hold changes, alaw file
-		format, and various fixes. Can be contacted at mahmut@oa.com.au
+       format, and various fixes. Can be contacted at mahmut@oa.com.au
+James Dennis - Cisco SIP compatibility patches to work with SIP service
+       providers. Can be contacted at asterisk@jdennis.net
 
 === OTHER CONTRIBUTIONS ===
 John Todd - Monkey sounds and associated teletorture prompt
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 98cdb2b80cd97fd70ec7f3a59586d5a14290f37c..e30683db7e338f1cc3c9a203bbfe3d7c6b754fc1 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -4236,9 +4236,10 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc
 					}
 				} else if (ast_pickup_call(c)) {
 					ast_log(LOG_WARNING, "Nothing to pick up\n");
+					transmit_response_reliable(p, "503 Unavailable", req);
+					p->alreadygone = 1;
 					ast_pthread_mutex_unlock(&c->lock);
 					ast_hangup(c);
-					transmit_response_reliable(p, "503 Unavailable", req);
 				} else {
 					ast_pthread_mutex_unlock(&c->lock);
 					ast_hangup(c);