Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp	(revision 67945)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp	(revision 67946)
@@ -42,4 +42,5 @@
     , m_state(KMediumState_NotCreated)
     , m_enmMediumType(KMediumType_Max)
+    , m_enmMediumVariant(KMediumVariant_Max)
 {
     refresh();
@@ -51,4 +52,5 @@
     , m_state(KMediumState_NotCreated)
     , m_enmMediumType(KMediumType_Max)
+    , m_enmMediumVariant(KMediumVariant_Max)
 {
     refresh();
@@ -60,4 +62,5 @@
     , m_state(state)
     , m_enmMediumType(KMediumType_Max)
+    , m_enmMediumVariant(KMediumVariant_Max)
 {
     refresh();
@@ -94,4 +97,5 @@
 
     m_enmMediumType = other.mediumType();
+    m_enmMediumVariant = other.mediumVariant();
 
     m_strHardDiskType = other.hardDiskType();
@@ -156,6 +160,7 @@
     m_uSize = m_uLogicalSize = 0;
 
-    /* Reset medium type parameter: */
+    /* Reset medium type & variant parameter: */
     m_enmMediumType = KMediumType_Max;
+    m_enmMediumVariant = KMediumVariant_Max;
 
     /* Reset hard drive related parameters: */
@@ -229,6 +234,10 @@
         }
 
-        /* Refresh medium type: */
+        /* Refresh medium type & variant: */
         m_enmMediumType = m_medium.GetType();
+        qlonglong iMediumVariant = 0;
+        foreach (const KMediumVariant &enmVariant, m_medium.GetVariant())
+            iMediumVariant |= enmVariant;
+        m_enmMediumVariant = (KMediumVariant)iMediumVariant;
 
         /* For hard drive medium: */
@@ -241,8 +250,5 @@
 
             /* Refresh hard drive storage details: */
-            qlonglong iMediumVariant = 0;
-            foreach (const KMediumVariant &enmVariant, m_medium.GetVariant())
-                iMediumVariant |= enmVariant;
-            m_strStorageDetails = gpConverter->toString((KMediumVariant)iMediumVariant);
+            m_strStorageDetails = gpConverter->toString(m_enmMediumVariant);
 
             /* Check whether this is read-only hard drive: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h	(revision 67945)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h	(revision 67946)
@@ -199,4 +199,8 @@
       * @note  In "don't show diffs" mode, this method returns the disk type of root in the given hard drive chain. */
     KMediumType mediumType(bool fNoDiffs = false) const { return fNoDiffs ? root().m_enmMediumType : m_enmMediumType; }
+    /** Returns the medium disk variant.
+      * @param fNoDiffs @c true to enable user-friendly "don't show diffs" mode.
+      * @note  In "don't show diffs" mode, this method returns the disk variant of root in the given hard drive chain. */
+    KMediumVariant mediumVariant(bool fNoDiffs = false) const { return fNoDiffs ? root().m_enmMediumVariant : m_enmMediumVariant; }
 
     /** Returns the hard drive medium disk type.
@@ -362,4 +366,6 @@
     /** Holds the medium disk type. */
     KMediumType m_enmMediumType;
+    /** Holds the medium disk variant. */
+    KMediumVariant m_enmMediumVariant;
 
     /** Holds the hard drive medium disk type. */
