diff --git a/third-party/pjproject/patches/config_site.h b/third-party/pjproject/patches/config_site.h
index 66e8e84d3f1daff5cbb7c5e51d201901d0bb8020..f84adeb357ed716f1fc5cc698f5dd66e15aac73b 100644
--- a/third-party/pjproject/patches/config_site.h
+++ b/third-party/pjproject/patches/config_site.h
@@ -43,7 +43,16 @@
 #define PJ_DEBUG			0
 #define PJSIP_SAFE_MODULE		0
 #define PJ_HAS_STRICMP_ALNUM		0
-#define PJ_HASH_USE_OWN_TOLOWER		1
+
+/*
+ * Do not ever enable PJ_HASH_USE_OWN_TOLOWER because the algorithm is
+ * inconsistently used when calculating the hash value and doesn't
+ * convert the same characters as pj_tolower()/tolower().  Thus you
+ * can get different hash values if the string hashed has certain
+ * characters in it.  (ASCII '@', '[', '\\', ']', '^', and '_')
+ */
+#undef PJ_HASH_USE_OWN_TOLOWER
+
 /*
   It is imperative that PJSIP_UNESCAPE_IN_PLACE remain 0 or undefined.
   Enabling it will result in SEGFAULTS when URIs containing escape sequences are encountered.