Index: /trunk/src/VBox/Main/GuestImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/GuestImpl.cpp	(revision 30001)
+++ /trunk/src/VBox/Main/GuestImpl.cpp	(revision 30002)
@@ -273,6 +273,6 @@
         {
             PPDMIVMMDEVPORT pVMMDevPort = pVMMDev->getVMMDevPort();
-            ComAssertRet(pVMMDevPort, E_FAIL);
-            pVMMDevPort->pfnSetMemoryBalloon(pVMMDevPort, aMemoryBalloonSize);
+            if (pVMMDevPort)
+                pVMMDevPort->pfnSetMemoryBalloon(pVMMDevPort, aMemoryBalloonSize);
         }
     }
@@ -307,6 +307,6 @@
     {
         PPDMIVMMDEVPORT pVMMDevPort = pVMMDev->getVMMDevPort();
-        ComAssertRet(pVMMDevPort, E_FAIL);
-        pVMMDevPort->pfnSetStatisticsInterval(pVMMDevPort, aUpdateInterval);
+        if (pVMMDevPort)
+            pVMMDevPort->pfnSetStatisticsInterval(pVMMDevPort, aUpdateInterval);
     }
 
@@ -405,14 +405,17 @@
     {
         PPDMIVMMDEVPORT pVMMDevPort = pVMMDev->getVMMDevPort();
-        ComAssertRet(pVMMDevPort, E_FAIL);
-
-        uint32_t u32Flags = VMMDEV_SETCREDENTIALS_GUESTLOGON;
-        if (!aAllowInteractiveLogon)
-            u32Flags = VMMDEV_SETCREDENTIALS_NOLOCALLOGON;
-
-        pVMMDevPort->pfnSetCredentials(pVMMDevPort,
-            Utf8Str(aUserName).raw(), Utf8Str(aPassword).raw(),
-            Utf8Str(aDomain).raw(), u32Flags);
-        return S_OK;
+        if (pVMMDevPort)
+        {
+            uint32_t u32Flags = VMMDEV_SETCREDENTIALS_GUESTLOGON;
+            if (!aAllowInteractiveLogon)
+                u32Flags = VMMDEV_SETCREDENTIALS_NOLOCALLOGON;
+
+            pVMMDevPort->pfnSetCredentials(pVMMDevPort,
+                                           Utf8Str(aUserName).raw(),
+                                           Utf8Str(aPassword).raw(),
+                                           Utf8Str(aDomain).raw(),
+                                           u32Flags);
+            return S_OK;
+        }
     }
 
