diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c
index 33d2911a0e09a6f53e8cffc616356bee02014a3d..ca5c7f55bdf6b61a4d2eef642c8e7113256d1bdb 100644
--- a/src/bin/pg_basebackup/receivelog.c
+++ b/src/bin/pg_basebackup/receivelog.c
@@ -367,14 +367,24 @@ CheckServerVersionForStreaming(PGconn *conn)
 	minServerMajor = 903;
 	maxServerMajor = PG_VERSION_NUM / 100;
 	serverMajor = PQserverVersion(conn) / 100;
-	if (serverMajor < minServerMajor || serverMajor > maxServerMajor)
+	if (serverMajor < minServerMajor)
 	{
 		const char *serverver = PQparameterStatus(conn, "server_version");
 
-		fprintf(stderr, _("%s: incompatible server version %s; streaming is only supported with server version %s\n"),
+		fprintf(stderr, _("%s: incompatible server version %s; client does not support streaming from server versions older than %s\n"),
 				progname,
 				serverver ? serverver : "'unknown'",
-				"9.3 or 9.4");
+				"9.3");
+		return false;
+	}
+	else if (serverMajor > maxServerMajor)
+	{
+		const char *serverver = PQparameterStatus(conn, "server_version");
+
+		fprintf(stderr, _("%s: incompatible server version %s; client does not support streaming from server versions newer than %s\n"),
+				progname,
+				serverver ? serverver : "'unknown'",
+				PG_VERSION);
 		return false;
 	}
 	return true;