diff --git a/src/Umbraco.Core/Models/ContentCultureInfos.cs b/src/Umbraco.Core/Models/ContentCultureInfos.cs
index bcf1dbb1b1..f51e3a275a 100644
--- a/src/Umbraco.Core/Models/ContentCultureInfos.cs
+++ b/src/Umbraco.Core/Models/ContentCultureInfos.cs
@@ -28,11 +28,11 @@ namespace Umbraco.Core.Models
/// Initializes a new instance of the class.
///
/// Used for cloning, without change tracking.
- private ContentCultureInfos(string culture, string name, DateTime date)
- : this(culture)
+ internal ContentCultureInfos(ContentCultureInfos other)
+ : this(other.Culture)
{
- _name = name;
- _date = date;
+ _name = other.Name;
+ _date = other.Date;
}
///
@@ -61,7 +61,7 @@ namespace Umbraco.Core.Models
///
public object DeepClone()
{
- return new ContentCultureInfos(Culture, Name, Date);
+ return new ContentCultureInfos(this);
}
///
diff --git a/src/Umbraco.Core/Models/ContentCultureInfosCollection.cs b/src/Umbraco.Core/Models/ContentCultureInfosCollection.cs
index 5238e65631..82b0ba6475 100644
--- a/src/Umbraco.Core/Models/ContentCultureInfosCollection.cs
+++ b/src/Umbraco.Core/Models/ContentCultureInfosCollection.cs
@@ -24,8 +24,12 @@ namespace Umbraco.Core.Models
public ContentCultureInfosCollection(IEnumerable items)
: base(x => x.Culture, StringComparer.InvariantCultureIgnoreCase)
{
+ // make sure to add *copies* and not the original items,
+ // as items can be modified by AddOrUpdate, and therefore
+ // the new collection would be impacted by changes made
+ // to the old collection
foreach (var item in items)
- Add(item);
+ Add(new ContentCultureInfos(item));
}
///