diff --git a/src/backend/postmaster/walwriter.c b/src/backend/postmaster/walwriter.c
index 6a1e16edc2..8ca0d8e616 100644
--- a/src/backend/postmaster/walwriter.c
+++ b/src/backend/postmaster/walwriter.c
@@ -253,7 +253,8 @@ WalWriterMain(void)
          * here to handle a race condition where WAL is flushed to disk prior
          * to registering the segment boundary.
          */
-        NotifySegmentsReadyForArchive(GetFlushRecPtr());
+        if (XLogArchivingActive())
+            NotifySegmentsReadyForArchive(GetFlushRecPtr());

         /*
          * Do what we're here for; then, if XLogBackgroundFlush() found useful
