Index: /trunk/src/VBox/Main/src-server/AudioAdapterImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/AudioAdapterImpl.cpp	(revision 56661)
+++ /trunk/src/VBox/Main/src-server/AudioAdapterImpl.cpp	(revision 56662)
@@ -323,4 +323,6 @@
     if (mData->m->mAudioController != aAudioController)
     {
+        AudioCodecType_T defaultCodec;
+
         /*
          * which audio hardware type are we supposed to use?
@@ -328,15 +330,14 @@
         switch (aAudioController)
         {
+            /* codec type needs to match the controller. */
             case AudioControllerType_AC97:
+                defaultCodec = AudioCodecType_STAC9700;
+                break;
             case AudioControllerType_SB16:
+                defaultCodec = AudioCodecType_SB16;
+                break;
             case AudioControllerType_HDA:
-            {
-                mData->m.backup();
-                mData->m->mAudioController = aAudioController;
-                alock.release();
-                AutoWriteLock mlock(mParent COMMA_LOCKVAL_SRC_POS);  // mParent is const, needs no locking
-                mParent->i_setModified(Machine::IsModified_AudioAdapter);
+                defaultCodec = AudioCodecType_STAC9221;
                 break;
-            }
 
             default:
@@ -345,4 +346,13 @@
                 rc = E_FAIL;
         }
+        if (rc == S_OK)
+        {
+            mData->m.backup();
+            mData->m->mAudioController = aAudioController;
+            mData->m->mAudioCodec = defaultCodec;
+            alock.release();
+            AutoWriteLock mlock(mParent COMMA_LOCKVAL_SRC_POS);  // mParent is const, needs no locking
+            mParent->i_setModified(Machine::IsModified_AudioAdapter);
+        }
     }
 
@@ -370,5 +380,5 @@
 
     /*
-     * which audio hardware type are we supposed to use?
+     * ensure that the codec type matches the audio controller
      */
     switch (mData->m->mAudioController)
