Index: /trunk/src/VBox/Main/src-all/PlatformPropertiesImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-all/PlatformPropertiesImpl.cpp	(revision 105963)
+++ /trunk/src/VBox/Main/src-all/PlatformPropertiesImpl.cpp	(revision 105964)
@@ -839,5 +839,7 @@
                                                                  std::vector<GraphicsFeature_T> &vecSupportedGraphicsFeatures)
 {
-   switch (enmArchitecture)
+    vecSupportedGraphicsFeatures.clear();
+
+    switch (enmArchitecture)
     {
         case PlatformArchitecture_x86:
@@ -851,5 +853,6 @@
                     {
 # ifdef VBOX_WITH_VIDEOHWACCEL
-                        GraphicsFeature_Acceleration2DVideo,
+                        /* @bugref{9691} -- The legacy VHWA acceleration has been disabled completely. */
+                        //GraphicsFeature_Acceleration2DVideo,
 # endif
 # ifdef VBOX_WITH_3D_ACCELERATION
@@ -865,5 +868,5 @@
                 case GraphicsControllerType_QemuRamFB:
                 {
-                    vecSupportedGraphicsFeatures.clear(); /* None supported. */
+                    /* None supported. */
                     break;
                 }
@@ -871,6 +874,6 @@
                 default:
                 {
-                    AssertFailedStmt(vecSupportedGraphicsFeatures.clear());
-                    return VERR_INVALID_PARAMETER;
+                    AssertFailedReturn(VERR_INVALID_PARAMETER);
+                    break; /* Never reached. */
                 }
             }
@@ -881,5 +884,5 @@
         case PlatformArchitecture_ARM:
         {
-            vecSupportedGraphicsFeatures.clear(); /* None supported. */
+            /* None supported. */
             break;
         }
Index: /trunk/src/VBox/Main/src-server/GraphicsAdapterImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/GraphicsAdapterImpl.cpp	(revision 105963)
+++ /trunk/src/VBox/Main/src-server/GraphicsAdapterImpl.cpp	(revision 105964)
@@ -304,16 +304,25 @@
     bool *pfSetting = NULL;
 
-    switch (aFeature)
+    /* If we don't support a feature with this graphics controller type, skip returning
+     * what setting we have stored for it.
+     *
+     * This could happen if loading an old(er) saved state or importing a VM where this feature (formely)
+     * was supported. PlatformProperties::s_isGraphicsControllerFeatureSupported() is the single source of truth here. */
+    if (PlatformProperties::s_isGraphicsControllerFeatureSupported(mParent->i_getPlatform()->i_getArchitecture(),
+                                                                   mData->graphicsControllerType, aFeature))
     {
-        case GraphicsFeature_Acceleration2DVideo:
-            pfSetting = &mData->fAccelerate2DVideo;
-            break;
-
-        case GraphicsFeature_Acceleration3D:
-            pfSetting = &mData->fAccelerate3D;
-            break;
-
-        default:
-            break;
+        switch (aFeature)
+        {
+            case GraphicsFeature_Acceleration2DVideo:
+                pfSetting = &mData->fAccelerate2DVideo;
+                break;
+
+            case GraphicsFeature_Acceleration3D:
+                pfSetting = &mData->fAccelerate3D;
+                break;
+
+            default:
+                break;
+        }
     }
 
