Index: /trunk/include/VBox/vmm/pdmaudioifs.h
===================================================================
--- /trunk/include/VBox/vmm/pdmaudioifs.h	(revision 87848)
+++ /trunk/include/VBox/vmm/pdmaudioifs.h	(revision 87849)
@@ -1201,4 +1201,9 @@
 typedef struct PDMAUDIOSTREAM *PPDMAUDIOSTREAMCTX;
 
+/** No stream warning flags set. */
+#define PDMAUDIOSTREAM_WARN_FLAGS_NONE          0
+/** Warned about a disabled stream. */
+#define PDMAUDIOSTREAM_WARN_FLAGS_DISABLED      RT_BIT(0)
+
 /**
  * An input or output audio stream.
@@ -1215,4 +1220,7 @@
     /** Number of (re-)tries while re-initializing the stream. */
     uint32_t                cTriesReInit;
+    /** Warnings shown already in the release log.
+     *  See PDMAUDIOSTREAM_WARN_FLAGS_XXX defines. */
+    uint32_t                fWarningsShown;
     /** Stream status flag. */
     PDMAUDIOSTREAMSTS       fStatus;
Index: /trunk/src/VBox/Devices/Audio/DrvAudio.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DrvAudio.cpp	(revision 87848)
+++ /trunk/src/VBox/Devices/Audio/DrvAudio.cpp	(revision 87849)
@@ -896,5 +896,7 @@
     LogFunc(("[%s]\n", pStream->szName));
 
-    pStream->fStatus = PDMAUDIOSTREAMSTS_FLAGS_INITIALIZED;
+    pStream->fStatus        = PDMAUDIOSTREAMSTS_FLAGS_INITIALIZED;
+    pStream->fWarningsShown = PDMAUDIOSTREAM_WARN_FLAGS_NONE;
+
 #ifdef VBOX_WITH_STATISTICS
     /*
@@ -2800,4 +2802,10 @@
                             fEnable ? "enable" : "disable", enmDir == PDMAUDIODIR_IN ? "input" : "output", pStream->szName, rc2));
             }
+            else
+            {
+                /* When (re-)enabling a stream, clear the disabled warning bit again. */
+                if (fEnable)
+                    pStream->fWarningsShown &= ~PDMAUDIOSTREAM_WARN_FLAGS_DISABLED;
+            }
 
             if (RT_SUCCESS(rc))
@@ -2953,5 +2961,9 @@
                 cbReadable = DrvAudioHlpNanoToBytes(RTTimeNanoTS() - pStream->tsLastReadWrittenNs,
                                                     &pStream->Host.Cfg.Props);
-                Log3Func(("[%s] Backend stream not ready or driver has disabled audio input, returning silence\n", pStream->szName));
+                if (!(pStream->fWarningsShown & PDMAUDIOSTREAM_WARN_FLAGS_DISABLED))
+                {
+                    LogRel(("Audio: Stream '%s' not ready or driver has disabled audio input, returning silence\n", pStream->szName));
+                    pStream->fWarningsShown |= PDMAUDIOSTREAM_WARN_FLAGS_DISABLED;
+                }
             }
         }
