Index: /trunk/include/VBox/settings.h
===================================================================
--- /trunk/include/VBox/settings.h	(revision 23599)
+++ /trunk/include/VBox/settings.h	(revision 23600)
@@ -554,4 +554,7 @@
     com::Guid               uuidCurrentSnapshot;
     com::Utf8Str            strSnapshotFolder;
+    bool                    fLiveMigrationTarget;
+    uint32_t                uLiveMigrationPort;
+    com::Utf8Str            strLiveMigrationPassword;
 
     bool                    fCurrentStateModified;      // optional, default is true
Index: /trunk/src/VBox/Main/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/MachineImpl.cpp	(revision 23599)
+++ /trunk/src/VBox/Main/MachineImpl.cpp	(revision 23600)
@@ -5032,5 +5032,9 @@
         mData->mLastStateChange = mData->m_pMachineConfigFile->timeLastStateChange;
 
-/** @todo LiveMigration: Load LiveMigration properties here. */
+        /* Live migration */
+        mUserData->mLiveMigrationTarget = mData->m_pMachineConfigFile->fLiveMigrationTarget;
+        mUserData->mLiveMigrationPort = mData->m_pMachineConfigFile->uLiveMigrationPort;
+        mUserData->mLiveMigrationPassword = mData->m_pMachineConfigFile->strLiveMigrationPassword;
+
         /*
          *  note: all mUserData members must be assigned prior this point because
@@ -6022,5 +6026,8 @@
         mData->m_pMachineConfigFile->timeLastStateChange = mData->mLastStateChange;
         mData->m_pMachineConfigFile->fAborted = (mData->mMachineState == MachineState_Aborted);
-/** @todo LiveMigration: Save LiveMigration properties here. */
+
+        mData->m_pMachineConfigFile->fLiveMigrationTarget = !!mUserData->mLiveMigrationTarget;
+        mData->m_pMachineConfigFile->uLiveMigrationPort = mUserData->mLiveMigrationPort;
+        mData->m_pMachineConfigFile->strLiveMigrationPassword = mUserData->mLiveMigrationPassword;
 
         rc = saveHardware(mData->m_pMachineConfigFile->hardwareMachine);
Index: /trunk/src/VBox/Main/xml/Settings.cpp
===================================================================
--- /trunk/src/VBox/Main/xml/Settings.cpp	(revision 23599)
+++ /trunk/src/VBox/Main/xml/Settings.cpp	(revision 23600)
@@ -2192,4 +2192,11 @@
             // constructor has called RTTimeNow(&timeLastStateChange) before
 
+        if (!elmMachine.getAttributeValue("liveMigrationTarget", fLiveMigrationTarget))
+            fLiveMigrationTarget = false;
+        if (!elmMachine.getAttributeValue("liveMigrationPort", uLiveMigrationPort))
+            uLiveMigrationPort = 0;
+        if (!elmMachine.getAttributeValue("liveMigrationPassword", strLiveMigrationPassword))
+            strLiveMigrationPassword = "";
+
         // parse Hardware before the other elements because other things depend on it
         const xml::ElementNode *pelmHardware;
@@ -2255,4 +2262,6 @@
     : ConfigFileBase(pstrFilename),
       fNameSync(true),
+      fLiveMigrationTarget(false),
+      uLiveMigrationPort(0),
       fCurrentStateModified(true),
       fAborted(false)
@@ -2887,4 +2896,12 @@
         if (fAborted)
             pelmMachine->setAttribute("aborted", fAborted);
+#ifdef VBOX_WITH_LIVE_MIGRATION /** @todo LiveMigration: Checkout how the file format versioning is done. */
+        if (fLiveMigrationTarget)
+            pelmMachine->setAttribute("liveMigrationTarget", true);
+        if (uLiveMigrationPort)
+            pelmMachine->setAttribute("liveMigrationPort", uLiveMigrationPort);
+        if (!strLiveMigrationPassword.isEmpty())
+            pelmMachine->setAttribute("liveMigrationPassword", strLiveMigrationPassword);
+#endif
 
         writeExtraData(*pelmMachine, mapExtraDataItems);
