Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 51929)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp	(revision 51930)
@@ -1259,5 +1259,10 @@
     /* Re-cache value only if strMachineID known already: */
     if (m_data.contains(strMachineID))
-        m_data[strMachineID][strKey] = strValue;
+    {
+        if (!strValue.isEmpty())
+            m_data[strMachineID][strKey] = strValue;
+        else
+            m_data[strMachineID].remove(strKey);
+    }
 
     /* Global extra-data 'change' event: */
@@ -1296,4 +1301,7 @@
 #endif /* Q_WS_MAC */
     }
+
+    /* Notify listeners: */
+    emit sigExtraDataChange(strMachineID, strKey, strValue);
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 51929)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h	(revision 51930)
@@ -47,4 +47,7 @@
 
 signals:
+
+    /** Notifies about extra-data change. */
+    void sigExtraDataChange(QString strID, QString strKey, QString strValue);
 
     /** Notifies about GUI language change. */
