Index: /trunk/sources/HeuristicLab.Constraints/DoubleBoundedConstraint.cs
===================================================================
--- /trunk/sources/HeuristicLab.Constraints/DoubleBoundedConstraint.cs	(revision 137)
+++ /trunk/sources/HeuristicLab.Constraints/DoubleBoundedConstraint.cs	(revision 138)
@@ -26,4 +26,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using System.Globalization;
 
 namespace HeuristicLab.Constraints {
@@ -135,15 +136,15 @@
       XmlNode node = base.GetXmlNode(name, document, persistedObjects);
       XmlAttribute lb = document.CreateAttribute("LowerBound");
-      lb.Value = LowerBound+"";
+      lb.Value = LowerBound.ToString(CultureInfo.InvariantCulture);
       XmlAttribute lbi = document.CreateAttribute("LowerBoundIncluded");
-      lbi.Value = lowerBoundIncluded+"";
+      lbi.Value = lowerBoundIncluded.ToString();
       XmlAttribute lbe = document.CreateAttribute("LowerBoundEnabled");
-      lbe.Value = lowerBoundEnabled + "";
+      lbe.Value = lowerBoundEnabled.ToString();
       XmlAttribute ub = document.CreateAttribute("UpperBound");
-      ub.Value = upperBound + "";
+      ub.Value = upperBound.ToString(CultureInfo.InvariantCulture);
       XmlAttribute ubi = document.CreateAttribute("UpperBoundIncluded");
-      ubi.Value = upperBoundIncluded + "";
+      ubi.Value = upperBoundIncluded.ToString();
       XmlAttribute ube = document.CreateAttribute("UpperBoundEnabled");
-      ube.Value = upperBoundEnabled + "";
+      ube.Value = upperBoundEnabled.ToString();
       node.Attributes.Append(lb);
       if (!lowerBoundIncluded) node.Attributes.Append(lbi);
@@ -157,5 +158,5 @@
     public override void Populate(XmlNode node, IDictionary<Guid, IStorable> restoredObjects) {
       base.Populate(node, restoredObjects);
-      lowerBound = double.Parse(node.Attributes["LowerBound"].Value);
+      lowerBound = double.Parse(node.Attributes["LowerBound"].Value, CultureInfo.InvariantCulture);
       if (node.Attributes["LowerBoundIncluded"] != null) {
         lowerBoundIncluded = bool.Parse(node.Attributes["LowerBoundIncluded"].Value);
@@ -169,5 +170,5 @@
       }
 
-      upperBound = double.Parse(node.Attributes["UpperBound"].Value);
+      upperBound = double.Parse(node.Attributes["UpperBound"].Value, CultureInfo.InvariantCulture);
       if (node.Attributes["UpperBoundIncluded"] != null) {
         upperBoundIncluded = bool.Parse(node.Attributes["UpperBoundIncluded"].Value);
Index: /trunk/sources/HeuristicLab.Random/NormalDistributedRandom.cs
===================================================================
--- /trunk/sources/HeuristicLab.Random/NormalDistributedRandom.cs	(revision 137)
+++ /trunk/sources/HeuristicLab.Random/NormalDistributedRandom.cs	(revision 138)
@@ -25,4 +25,5 @@
 using HeuristicLab.Core;
 using System.Xml;
+using System.Globalization;
 
 namespace HeuristicLab.Random {
@@ -510,16 +511,14 @@
     #endregion
 
-    #region IStorable Members
-
-
+    #region persistence
     public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid, IStorable> persistedObjects) {
       XmlNode node = base.GetXmlNode(name, document, persistedObjects);
 
       XmlNode muNode = document.CreateNode(XmlNodeType.Element, "Mu", null);
-      muNode.InnerText = mu.ToString();
+      muNode.InnerText = mu.ToString(CultureInfo.InvariantCulture);
       node.AppendChild(muNode);
 
       XmlNode sigmaNode = document.CreateNode(XmlNodeType.Element, "Sigma", null);
-      sigmaNode.InnerText = sigma.ToString();
+      sigmaNode.InnerText = sigma.ToString(CultureInfo.InvariantCulture);
       node.AppendChild(sigmaNode);
 
@@ -532,6 +531,6 @@
       base.Populate(node, restoredObjects);
 
-      mu = double.Parse(node.SelectSingleNode("Mu").InnerText);
-      sigma = double.Parse(node.SelectSingleNode("Sigma").InnerText);
+      mu = double.Parse(node.SelectSingleNode("Mu").InnerText, CultureInfo.InvariantCulture);
+      sigma = double.Parse(node.SelectSingleNode("Sigma").InnerText, CultureInfo.InvariantCulture);
       uniform = (IRandom)PersistenceManager.Restore(node.SelectSingleNode("UniformRandom"), restoredObjects);
     }
