diff --git a/ChangeLog b/ChangeLog
index 91157642ae40261224f13845885773d1dbeb7664..54bac41d74e9c9d5936a37aa7c40e88cde50cee3 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-11-21  Kevin P. Fleming  <kpfleming@digium.com>
+
+	* ensure that case changes made to chan_sip and chan_iax2 peer/user names are not ignored during reload operations
+
 2005-11-21  Josh Roberson <josh@asteriasgi.com>
 
 	* Makefile: Re-fix Darwin poll issues. 
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 3046c610bdd2b831742ba5adbbce77cc826f3fe8..fa95b91857737e63b1899cc2d8b239ccc51b67ab 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -8104,7 +8104,7 @@ static struct iax2_peer *build_peer(const char *name, struct ast_variable *v, in
 	if (!temponly) {
 		peer = peerl.peers;
 		while(peer) {
-			if (!strcasecmp(peer->name, name)) {	
+			if (!strcmp(peer->name, name)) {	
 				break;
 			}
 			prev = peer;
@@ -8297,7 +8297,7 @@ static struct iax2_user *build_user(const char *name, struct ast_variable *v, in
 	if (!temponly) {
 		user = userl.users;
 		while(user) {
-			if (!strcasecmp(user->name, name)) {	
+			if (!strcmp(user->name, name)) {	
 				break;
 			}
 			prev = user;
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 3d5e4544c61ef03fb04859a1171a5ea479db1e48..e6faa6b4ea70f6c149e685527a7d6ee233613f39 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -11967,7 +11967,11 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, int
 
 	if (!realtime)
 		/* Note we do NOT use find_peer here, to avoid realtime recursion */
-		peer = ASTOBJ_CONTAINER_FIND_UNLINK(&peerl, name);
+		/* We also use a case-sensitive comparison (unlike find_peer) so
+		   that case changes made to the peer name will be properly handled
+		   during reload
+		*/
+		peer = ASTOBJ_CONTAINER_FIND_UNLINK_FULL(&peerl, name, name, 0, 0, strcmp);
 
 	if (peer) {
 		/* Already in the list, remove it and it will be added back (or FREE'd)  */