Fix "the the".
diff --git a/CHANGES.txt b/CHANGES.txt
index 2ad10f8..5a74cd3 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -647,7 +647,7 @@
     details about APIs.
 
   Objective-C
-  * Helpers are now provided for working the the Any well known type (see
+  * Helpers are now provided for working the Any well known type (see
     GPBWellKnownTypes.h for the api additions).
   * Some improvements in startup code (especially when extensions aren’t used).
 
diff --git a/objectivec/GPBMessage.h b/objectivec/GPBMessage.h
index 276740d..01253a4 100644
--- a/objectivec/GPBMessage.h
+++ b/objectivec/GPBMessage.h
@@ -308,7 +308,7 @@
 - (void)writeToOutputStream:(NSOutputStream *)output;
 
 /**
- * Writes out a varint for the message size followed by the the message to
+ * Writes out a varint for the message size followed by the message to
  * the given output stream.
  *
  * @param output The coded output stream into which to write the message.
@@ -318,7 +318,7 @@
 - (void)writeDelimitedToCodedOutputStream:(GPBCodedOutputStream *)output;
 
 /**
- * Writes out a varint for the message size followed by the the message to
+ * Writes out a varint for the message size followed by the message to
  * the given output stream.
  *
  * @param output The output stream into which to write the message.
diff --git a/php/ext/google/protobuf/upb.c b/php/ext/google/protobuf/upb.c
index 9385da7..5d24a21 100644
--- a/php/ext/google/protobuf/upb.c
+++ b/php/ext/google/protobuf/upb.c
@@ -7835,7 +7835,7 @@
 **       to perfectly match the output of reference encoders that always use the
 **       optimal amount of space for each length.
 **
-**   (2) requires guessing the the size upfront, and if multiple lengths are
+**   (2) requires guessing the size upfront, and if multiple lengths are
 **       guessed wrong the minimum required number of memmove() operations may
 **       be complicated to compute correctly.  Implemented properly, it may have
 **       a useful amortized or average cost, but more investigation is required
diff --git a/ruby/ext/google/protobuf_c/upb.c b/ruby/ext/google/protobuf_c/upb.c
index 079c28b..d227635 100644
--- a/ruby/ext/google/protobuf_c/upb.c
+++ b/ruby/ext/google/protobuf_c/upb.c
@@ -11585,7 +11585,7 @@
 **       to perfectly match the output of reference encoders that always use the
 **       optimal amount of space for each length.
 **
-**   (2) requires guessing the the size upfront, and if multiple lengths are
+**   (2) requires guessing the size upfront, and if multiple lengths are
 **       guessed wrong the minimum required number of memmove() operations may
 **       be complicated to compute correctly.  Implemented properly, it may have
 **       a useful amortized or average cost, but more investigation is required