Index: /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp	(revision 73646)
+++ /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp	(revision 73647)
@@ -1016,4 +1016,10 @@
     }
 
+    if (pStream->State.pCircBuf)
+    {
+        RTCircBufDestroy(pStream->State.pCircBuf);
+        pStream->State.pCircBuf = NULL;
+    }
+
     LogFlowFuncLeave();
 }
@@ -1856,5 +1862,11 @@
             pCfg->Props.cShift    = PDMAUDIOPCMPROPS_MAKE_SHIFT_PARMS(pCfg->Props.cBytes, pCfg->Props.cChannels);
 
-            rc = RTCircBufCreate(&pStream->State.pCircBuf, DrvAudioHlpMilliToBytes(100 /* ms */, &pCfg->Props)); /** @todo Make this configurable. */
+            if (pStream->State.pCircBuf)
+            {
+                RTCircBufDestroy(pStream->State.pCircBuf);
+                pStream->State.pCircBuf = NULL;
+            }
+
+            rc = RTCircBufCreate(&pStream->State.pCircBuf, DrvAudioHlpMilliToBytes(500 /* ms */, &pCfg->Props)); /** @todo Make this configurable. */
             if (RT_SUCCESS(rc))
                 rc = ichac97R3MixerAddDrvStreams(pThis, pMixSink, pCfg);
@@ -1878,10 +1890,4 @@
 
     LogFlowFunc(("[SD%RU8]\n", pStream->u8SD));
-
-    if (pStream->State.pCircBuf)
-    {
-        RTCircBufDestroy(pStream->State.pCircBuf);
-        pStream->State.pCircBuf = NULL;
-    }
 
     return VINF_SUCCESS;
