Index: /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp	(revision 65018)
+++ /trunk/src/VBox/Devices/Audio/DevIchAc97.cpp	(revision 65019)
@@ -487,4 +487,7 @@
 static void               ichac97DoTransfers(PAC97STATE pThis);
 
+static int                ichac97MixerAddDrvStreams(PAC97STATE pThis, PAUDMIXSINK pMixSink, PPDMAUDIOSTREAMCFG pCfg);
+static void               ichac97MixerRemoveDrvStreams(PAC97STATE pThis, PAUDMIXSINK pMixSink, PDMAUDIODIR enmDir, PDMAUDIODESTSOURCE dstSrc);
+
 #ifdef VBOX_WITH_AUDIO_AC97_ASYNC_IO
 static DECLCALLBACK(int)  ichac97StreamAsyncIOThread(RTTHREAD hThreadSelf, void *pvUser);
@@ -823,7 +826,43 @@
     LogFlowFuncEnter();
 
+    /*
+     * Destroy all AC'97 streams.
+     */
+
     ichac97StreamDestroy(pThis, &pThis->StreamLineIn);
     ichac97StreamDestroy(pThis, &pThis->StreamMicIn);
     ichac97StreamDestroy(pThis, &pThis->StreamOut);
+
+    /*
+     * Destroy all sinks.
+     */
+
+    PDMAUDIODESTSOURCE dstSrc;
+    if (pThis->pSinkLineIn)
+    {
+        dstSrc.Source = PDMAUDIORECSOURCE_LINE;
+        ichac97MixerRemoveDrvStreams(pThis, pThis->pSinkLineIn, PDMAUDIODIR_IN, dstSrc);
+
+        AudioMixerSinkDestroy(pThis->pSinkLineIn);
+        pThis->pSinkLineIn = NULL;
+    }
+
+    if (pThis->pSinkMicIn)
+    {
+        dstSrc.Source = PDMAUDIORECSOURCE_MIC;
+        ichac97MixerRemoveDrvStreams(pThis, pThis->pSinkMicIn, PDMAUDIODIR_IN, dstSrc);
+
+        AudioMixerSinkDestroy(pThis->pSinkMicIn);
+        pThis->pSinkMicIn = NULL;
+    }
+
+    if (pThis->pSinkOut)
+    {
+        dstSrc.Dest = PDMAUDIOPLAYBACKDEST_FRONT;
+        ichac97MixerRemoveDrvStreams(pThis, pThis->pSinkOut, PDMAUDIODIR_OUT, dstSrc);
+
+        AudioMixerSinkDestroy(pThis->pSinkOut);
+        pThis->pSinkOut = NULL;
+    }
 }
 
@@ -2908,4 +2947,6 @@
             ichac97MixerSetVolume(pThis, AC97_Headphone_Volume_Mute, PDMAUDIOMIXERCTL_VOLUME_MASTER,
                              ichac97MixerGet(pThis, AC97_Headphone_Volume_Mute));
+
+    ichac97StreamsDestroy(pThis);
 
     rc2 = ichac97StreamsCreate(pThis);
