Index: /trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp	(revision 82366)
+++ /trunk/src/VBox/Main/src-server/ApplianceImplImport.cpp	(revision 82367)
@@ -1256,5 +1256,5 @@
         instanceDescription->AddDescription(VirtualSystemDescriptionType_CloudProfileName,
                              Bstr(profileName).raw(),
-                             Bstr(profileName).raw());
+                             NULL);
 
         Utf8StrFmt strSetting("VM with id %s imported from the cloud provider %s",
@@ -1263,5 +1263,5 @@
         instanceDescription->AddDescription(VirtualSystemDescriptionType_Description,
                              Bstr(strSetting).raw(),
-                             Bstr(strSetting).raw());
+                             NULL);
     }
     catch (HRESULT arc)
@@ -1386,5 +1386,5 @@
                 vsd->AddDescription(VirtualSystemDescriptionType_OS,
                                     Bstr(strOsType).raw(),
-                                    Bstr(strOsType).raw());
+                                    NULL);
             }
         }
@@ -1395,5 +1395,5 @@
             vsd->AddDescription(VirtualSystemDescriptionType_OS,
                                 Bstr(strOsType).raw(),
-                                Bstr(strOsType).raw());
+                                NULL);
         }
 
@@ -1435,5 +1435,5 @@
                 vsd->AddDescription(VirtualSystemDescriptionType_Name,
                                     Bstr(strVMName).raw(),
-                                    Bstr(strVMName).raw());
+                                    NULL);
                 /* No check again because it would be weird if a VM with such unique name exists */
             }
@@ -1771,5 +1771,5 @@
                         vsd->AddDescription(VirtualSystemDescriptionType_HardDiskControllerSATA,
                                             Bstr(hdc.strControllerType).raw(),
-                                            Bstr(hdc.strControllerType).raw());
+                                            NULL);
                     }
                 }
@@ -1786,5 +1786,5 @@
                         vsd->AddDescription(VirtualSystemDescriptionType_SoundCard,
                                             Bstr(vsys.strSoundCardType).raw(),
-                                            Bstr(vsys.strSoundCardType).raw());
+                                            NULL);
                     }
 
@@ -3939,4 +3939,20 @@
     }
 
+    if (stack.strFirmwareType.isNotEmpty())
+    {
+        FirmwareType_T firmwareType = FirmwareType_BIOS;
+        if (stack.strFirmwareType.contains("EFI"))
+        {
+            if (stack.strFirmwareType.contains("32"))
+                firmwareType = FirmwareType_EFI32;
+            if (stack.strFirmwareType.contains("64"))
+                firmwareType = FirmwareType_EFI64;
+            else
+                firmwareType = FirmwareType_EFI;
+        }
+        rc = pNewMachine->COMSETTER(FirmwareType)(firmwareType);
+        if (FAILED(rc)) throw rc;
+    }
+
     if (!stack.strAudioAdapter.isEmpty())
         if (stack.strAudioAdapter.compare("null", Utf8Str::CaseInsensitive) != 0)
@@ -5180,4 +5196,11 @@
         stack.strOsTypeVBox = vsdeOS.front()->strVBoxCurrent;
 
+        // Firmware
+        std::list<VirtualSystemDescriptionEntry*> firmware = vsdescThis->i_findByType(VirtualSystemDescriptionType_BootingFirmware);
+        if (firmware.size() != 1)
+            stack.strFirmwareType = "BIOS";//try default BIOS type
+        else
+            stack.strFirmwareType = firmware.front()->strVBoxCurrent;
+
         // CPU count
         std::list<VirtualSystemDescriptionEntry*> vsdeCPU = vsdescThis->i_findByType(VirtualSystemDescriptionType_CPU);
