diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c
index da9ee7b..4a20569 100644
--- a/src/backend/replication/walsender.c
+++ b/src/backend/replication/walsender.c
@@ -2183,9 +2183,9 @@ XLogSendPhysical(void)
 	if (sendTimeLineIsHistoric)
 	{
 		/*
-		 * Streaming an old timeline timeline that's in this server's history,
-		 * but is not the one we're currently inserting or replaying. It can
-		 * be streamed up to the point where we switched off that timeline.
+		 * Streaming an old timeline that's in this server's history, but is
+		 * not the one we're currently inserting or replaying. It can be
+		 * streamed up to the point where we switched off that timeline.
 		 */
 		SendRqstPtr = sendTimeLineValidUpto;
 	}
diff --git a/src/backend/utils/adt/array_userfuncs.c b/src/backend/utils/adt/array_userfuncs.c
index c0bfd33..4177d2d 100644
--- a/src/backend/utils/adt/array_userfuncs.c
+++ b/src/backend/utils/adt/array_userfuncs.c
@@ -719,7 +719,7 @@ array_position_common(FunctionCallInfo fcinfo)
 
 	if (PG_ARGISNULL(1))
 	{
-		/* fast return when the array doesn't have have nulls */
+		/* fast return when the array doesn't have nulls */
 		if (!array_contains_nulls(array))
 			PG_RETURN_NULL();
 		searched_element = (Datum) 0;
@@ -871,7 +871,7 @@ array_positions(PG_FUNCTION_ARGS)
 
 	if (PG_ARGISNULL(1))
 	{
-		/* fast return when the array doesn't have have nulls */
+		/* fast return when the array doesn't have nulls */
 		if (!array_contains_nulls(array))
 			PG_RETURN_DATUM(makeArrayResult(astate, CurrentMemoryContext));
 		searched_element = (Datum) 0;
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 492c093..f43aff2 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -8470,7 +8470,7 @@ read_nondefault_variables(void)
  * particular postmaster.  Most PGC_INTERNAL variables are compile-time
  * constants; a few, like server_encoding and lc_ctype, are handled specially
  * outside the serialize/restore procedure.  Therefore, SerializeGUCState()
- * never sends these, and and RestoreGUCState() never changes them.
+ * never sends these, and RestoreGUCState() never changes them.
  */
 static bool
 can_skip_gucvar(struct config_generic * gconf)
diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
index fbf7106..f2b54bc 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -433,7 +433,7 @@ StartLogStreamer(char *startpos, uint32 timeline, char *sysidentifier)
 	snprintf(param->xlogdir, sizeof(param->xlogdir), "%s/pg_xlog", basedir);
 
 	/*
-	 * Create pg_xlog/archive_status (and thus pg_xlog) so we can can write to
+	 * Create pg_xlog/archive_status (and thus pg_xlog) so we can write to
 	 * basedir/pg_xlog as the directory entry in the tar file may arrive
 	 * later.
 	 */
