Index: /trunk/src/VBox/Main/xml/Settings.cpp
===================================================================
--- /trunk/src/VBox/Main/xml/Settings.cpp	(revision 22698)
+++ /trunk/src/VBox/Main/xml/Settings.cpp	(revision 22699)
@@ -1654,4 +1654,5 @@
         throw ConfigFileError(this, &elmSnapshot, N_("Required Snapshot/@name attribute is missing"));
 
+    // earlier 3.1 trunk builds had a bug and added Description as an attribute, read it silently and write it back as an element
     elmSnapshot.getAttributeValue("Description", snap.strDescription);
 
@@ -2170,10 +2171,11 @@
     pelmSnapshot->setAttribute("uuid", makeString(snap.uuid));
     pelmSnapshot->setAttribute("name", snap.strName);
-    pelmSnapshot->setAttribute("Description", snap.strDescription);
-
     pelmSnapshot->setAttribute("timeStamp", makeString(snap.timestamp));
 
     if (snap.strStateFile.length())
         pelmSnapshot->setAttribute("stateFile", snap.strStateFile);
+
+    if (snap.strDescription.length())
+        pelmSnapshot->createChild("Description")->addContent(snap.strDescription);
 
     writeHardware(*pelmSnapshot, snap.hardware);
