Index: /trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp	(revision 50584)
+++ /trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp	(revision 50585)
@@ -10,5 +10,5 @@
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2014 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -1292,5 +1292,4 @@
         PCFGMNODE pBiosCfg = NULL;      /* /Devices/pcbios/0/Config/ */
         PCFGMNODE pNetBootCfg = NULL;   /* /Devices/pcbios/0/Config/NetBoot/ */
-        bool fHaveBiosScsiConfig = false;
 
         InsertConfigNode(pRoot, "Devices", &pDevices);
@@ -1956,14 +1955,12 @@
                     InsertConfigInteger(pCfg, "Bootable",  fBootable);
 
-                    /* BIOS configuration values, first controller only. */
-                    if (!pBusMgr->hasPCIDevice("lsilogicscsi", 1) && pBiosCfg)
+                    /* BIOS configuration values, first SCSI controller only. */
+                    if (   !pBusMgr->hasPCIDevice("lsilogic", 1)
+                        && !pBusMgr->hasPCIDevice("buslogic", 0)
+                        && !pBusMgr->hasPCIDevice("lsilogicsas", 0)
+                        && pBiosCfg)
                     {
-                        if (!fHaveBiosScsiConfig)
-                        {
-                            fHaveBiosScsiConfig = true;
-                            InsertConfigString(pBiosCfg, "ScsiHardDiskDevice", "lsilogicscsi");
-
-                            hrc = SetBiosDiskInfo(pMachine, pCfg, pBiosCfg, controllerName, apszBiosConfigScsi);    H();
-                        }
+                        InsertConfigString(pBiosCfg, "ScsiHardDiskDevice", "lsilogicscsi");
+                        hrc = SetBiosDiskInfo(pMachine, pCfg, pBiosCfg, controllerName, apszBiosConfigScsi);    H();
                     }
 
@@ -1982,14 +1979,12 @@
                     InsertConfigInteger(pCfg, "Bootable",  fBootable);
 
-                    /* BIOS configuration values, first controller only. */
-                    if (!pBusMgr->hasPCIDevice("buslogic", 1) && pBiosCfg)
+                    /* BIOS configuration values, first SCSI controller only. */
+                    if (   !pBusMgr->hasPCIDevice("lsilogic", 0)
+                        && !pBusMgr->hasPCIDevice("buslogic", 1)
+                        && !pBusMgr->hasPCIDevice("lsilogicsas", 0)
+                        && pBiosCfg)
                     {
-                        if (!fHaveBiosScsiConfig)
-                        {
-                            fHaveBiosScsiConfig = true;
-                            InsertConfigString(pBiosCfg, "ScsiHardDiskDevice", "buslogic");
-
-                            hrc = SetBiosDiskInfo(pMachine, pCfg, pBiosCfg, controllerName, apszBiosConfigScsi);    H();
-                        }
+                        InsertConfigString(pBiosCfg, "ScsiHardDiskDevice", "buslogic");
+                        hrc = SetBiosDiskInfo(pMachine, pCfg, pBiosCfg, controllerName, apszBiosConfigScsi);    H();
                     }
 
@@ -2011,12 +2006,9 @@
                     InsertConfigInteger(pCfg, "Bootable",  fBootable);
 
-                    /* Needed configuration values for the bios, only first controller. */
-                    if (!pBusMgr->hasPCIDevice("ahci", 1))
+                    /* BIOS configuration values, first AHCI controller only. */
+                    if (   !pBusMgr->hasPCIDevice("ahci", 1)
+                        && pBiosCfg)
                     {
-                        if (pBiosCfg)
-                        {
-                            InsertConfigString(pBiosCfg, "SataHardDiskDevice", "ahci");
-                        }
-
+                        InsertConfigString(pBiosCfg, "SataHardDiskDevice", "ahci");
                         hrc = SetBiosDiskInfo(pMachine, pCfg, pBiosCfg, controllerName, apszBiosConfigSata);    H();
                     }
@@ -2078,14 +2070,12 @@
                     InsertConfigInteger(pCfg, "Bootable",  fBootable);
 
-                    /* BIOS configuration values, first controller only. */
-                    if (!pBusMgr->hasPCIDevice("lsilogicsas", 1) && pBiosCfg)
+                    /* BIOS configuration values, first SCSI controller only. */
+                    if (   !pBusMgr->hasPCIDevice("lsilogic", 0)
+                        && !pBusMgr->hasPCIDevice("buslogic", 0)
+                        && !pBusMgr->hasPCIDevice("lsilogicsas", 1)
+                        && pBiosCfg)
                     {
-                        if (!fHaveBiosScsiConfig)
-                        {
-                            fHaveBiosScsiConfig = true;
-                            InsertConfigString(pBiosCfg, "ScsiHardDiskDevice", "lsilogicsas");
-
-                            hrc = SetBiosDiskInfo(pMachine, pCfg, pBiosCfg, controllerName, apszBiosConfigScsi);    H();
-                        }
+                        InsertConfigString(pBiosCfg, "ScsiHardDiskDevice", "lsilogicsas");
+                        hrc = SetBiosDiskInfo(pMachine, pCfg, pBiosCfg, controllerName, apszBiosConfigScsi);    H();
                     }
 
