Index: /trunk/src/VBox/Main/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/MachineImpl.cpp	(revision 26737)
+++ /trunk/src/VBox/Main/MachineImpl.cpp	(revision 26738)
@@ -2413,6 +2413,9 @@
     bool fNeedsSaveSettings = false;
 
-    /* protect the media tree all the while we're in here, as well as our member variables */
-    AutoMultiWriteLock2 alock(this->lockHandle(), &mParent->getMediaTreeLockHandle() COMMA_LOCKVAL_SRC_POS);
+    // request the host lock first, since might be calling Host methods for getting host drives;
+    // next, protect the media tree all the while we're in here, as well as our member variables
+    AutoMultiWriteLock3 alock(mParent->host()->lockHandle(),
+                              this->lockHandle(),
+                              &mParent->getMediaTreeLockHandle() COMMA_LOCKVAL_SRC_POS);
 
     HRESULT rc = checkStateDependency(MutableStateDep);
