Index: /trunk/src/VBox/Main/SystemPropertiesImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/SystemPropertiesImpl.cpp	(revision 22594)
+++ /trunk/src/VBox/Main/SystemPropertiesImpl.cpp	(revision 22595)
@@ -200,5 +200,14 @@
     /* no need to lock, this is const */
     AssertCompile(MM_RAM_MAX_IN_MB <= SchemaDefs::MaxGuestRAM);
-    *maxRAM = MM_RAM_MAX_IN_MB;
+    ULONG maxRAMSys = MM_RAM_MAX_IN_MB;
+    ULONG maxRAMArch = maxRAMSys;
+#if HC_ARCH_BITS == 32 && !defined(RT_OS_DARWIN)
+# ifdef RT_OS_WINDOWS
+    maxRAMArch = UINT32_C(1500);
+# else
+    maxRAMArch = UINT32_C(2560);
+# endif
+#endif
+    *maxRAM = RT_MIN(maxRAMSys, maxRAMArch);
 
     return S_OK;
