diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
index 661cf246a0d52dcd0bd9ffb42912d1b3716c629b..ffc882616fc930a5388cc3ce184ea561bcd92101 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -1084,7 +1084,7 @@ ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum)
 	if (copybuf != NULL)
 		PQfreemem(copybuf);
 
-	if (basetablespace)
+	if (basetablespace && writerecoveryconf)
 		WriteRecoveryConf();
 }