diff --git a/ChangeLog b/ChangeLog
index 05f6817f0543da15523454f7a1681a4479c41487..18e023df8421fa75d58fad9a92dca0ab8bc3f6ad 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,8 @@
-2005-11-20  Russell Bryant <russell@digium.com>
+2005-11-21  Russell Bryant  <russell@digium.com>
+
+	* channels/chan_iax2.c (iax2_getpeername): Return non-zero to indicate that a peer was found when using realtime (issue #5815)
+
+2005-11-20  Russell Bryant  <russell@digium.com>
 
 	* Makefile apps/Makefile: Fix 'make install' for Solaris. (issue #5775)
 
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 1c3c0b390ad56c925892dbe4cc4d6cdda2f41a50..3046c610bdd2b831742ba5adbbce77cc826f3fe8 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -859,10 +859,11 @@ static int iax2_getpeername(struct sockaddr_in sin, char *host, int len, int loc
 {
 	struct iax2_peer *peer;
 	int res = 0;
+
 	if (lockpeer)
 		ast_mutex_lock(&peerl.lock);
 	peer = peerl.peers;
-	while(peer) {
+	while (peer) {
 		if ((peer->addr.sin_addr.s_addr == sin.sin_addr.s_addr) &&
 				(peer->addr.sin_port == sin.sin_port)) {
 					ast_copy_string(host, peer->name, len);
@@ -879,8 +880,10 @@ static int iax2_getpeername(struct sockaddr_in sin, char *host, int len, int loc
 			ast_copy_string(host, peer->name, len);
 			if (ast_test_flag(peer, IAX_TEMPONLY))
 				destroy_peer(peer);
+			res = 1;
 		}
 	}
+
 	return res;
 }