Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.cpp	(revision 46781)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.cpp	(revision 46782)
@@ -32,4 +32,5 @@
 const char* UIDefs::GUI_RecentListCD = "GUI/RecentListCD";
 const char* UIDefs::GUI_RecentListFD = "GUI/RecentListFD";
+const char* UIDefs::GUI_PreventApplicationUpdate = "GUI/PreventApplicationUpdate";
 
 /* Selector-window definitions: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.h	(revision 46781)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIDefs.h	(revision 46782)
@@ -104,4 +104,5 @@
     extern const char* GUI_RecentListCD;
     extern const char* GUI_RecentListFD;
+    extern const char* GUI_PreventApplicationUpdate;
 
     /* Selector-window declarations: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 46781)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 46782)
@@ -3619,8 +3619,8 @@
 
 /* static */
-bool VBoxGlobal::isApprovedByExtraData(CMachine &machine, const QString &strExtraDataKey)
+bool VBoxGlobal::isApprovedByExtraData(CVirtualBox &vbox, const QString &strExtraDataKey)
 {
     /* Load corresponding extra-data value: */
-    QString strExtraDataValue(machine.GetExtraData(strExtraDataKey));
+    QString strExtraDataValue(vbox.GetExtraData(strExtraDataKey));
 
     /* 'false' if value was not set: */
@@ -3633,4 +3633,28 @@
            || strExtraDataValue.compare("on", Qt::CaseInsensitive) == 0
            || strExtraDataValue == "1";
+}
+
+/* static */
+bool VBoxGlobal::isApprovedByExtraData(CMachine &machine, const QString &strExtraDataKey)
+{
+    /* Load corresponding extra-data value: */
+    QString strExtraDataValue(machine.GetExtraData(strExtraDataKey));
+
+    /* 'false' if value was not set: */
+    if (strExtraDataValue.isEmpty())
+        return false;
+
+    /* Handle particular values: */
+    return    strExtraDataValue.compare("true", Qt::CaseInsensitive) == 0
+           || strExtraDataValue.compare("yes", Qt::CaseInsensitive) == 0
+           || strExtraDataValue.compare("on", Qt::CaseInsensitive) == 0
+           || strExtraDataValue == "1";
+}
+
+/* static */
+bool VBoxGlobal::shouldWeAllowApplicationUpdate(CVirtualBox &vbox)
+{
+    /* 'true' if disabling is not approved by the extra-data: */
+    return !isApprovedByExtraData(vbox, GUI_PreventApplicationUpdate);
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 46781)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 46782)
@@ -375,5 +375,7 @@
 
     /* Extra-data settings stuff: */
+    static bool isApprovedByExtraData(CVirtualBox &vbox, const QString &strExtraDataKey);
     static bool isApprovedByExtraData(CMachine &machine, const QString &strExtraDataKey);
+    static bool shouldWeAllowApplicationUpdate(CVirtualBox &vbox);
     static bool shouldWeShowMachine(CMachine &machine);
     static bool shouldWeAllowMachineReconfiguration(CMachine &machine,
Index: /trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp	(revision 46781)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/net/UIUpdateManager.cpp	(revision 46782)
@@ -485,5 +485,7 @@
 #ifdef VBOX_WITH_UPDATE_REQUEST
     /* Ask updater to check for the first time: */
-    if (!vboxGlobal().isVMConsoleProcess())
+    CVirtualBox vbox = vboxGlobal().virtualBox();
+    if (VBoxGlobal::shouldWeAllowApplicationUpdate(vbox) &&
+        !vboxGlobal().isVMConsoleProcess())
         QTimer::singleShot(0, this, SLOT(sltCheckIfUpdateIsNecessary()));
 #endif /* VBOX_WITH_UPDATE_REQUEST */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp	(revision 46781)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp	(revision 46782)
@@ -1317,5 +1317,9 @@
     pMenu->addAction(m_pNetworkAccessManager);
     m_pUpdateAction = gActionPool->action(UIActionIndex_Simple_CheckForUpdates);
-    pMenu->addAction(m_pUpdateAction);
+    CVirtualBox vbox = vboxGlobal().virtualBox();
+    if (VBoxGlobal::shouldWeAllowApplicationUpdate(vbox))
+        pMenu->addAction(m_pUpdateAction);
+    else
+        m_pUpdateAction->setEnabled(false);
 #ifndef Q_WS_MAC
     pMenu->addSeparator();
