diff --git a/src/NHibernate.Test/NHibernate.Test.csproj b/src/NHibernate.Test/NHibernate.Test.csproj
index 0c57966358b..c60b89ab659 100644
--- a/src/NHibernate.Test/NHibernate.Test.csproj
+++ b/src/NHibernate.Test/NHibernate.Test.csproj
@@ -2483,6 +2483,7 @@
+
@@ -2544,7 +2545,9 @@
Designer
-
+
+ Designer
+
diff --git a/src/NHibernate.Test/VersionTest/Db/LazyVersionTest.cs b/src/NHibernate.Test/VersionTest/Db/LazyVersionTest.cs
new file mode 100644
index 00000000000..bda1a83479a
--- /dev/null
+++ b/src/NHibernate.Test/VersionTest/Db/LazyVersionTest.cs
@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Xml;
+using NHibernate.Bytecode.CodeDom;
+using NHibernate.Cfg;
+using NHibernate.Mapping.ByCode;
+using NHibernate.Test.Linq;
+using NUnit.Framework;
+
+namespace NHibernate.Test.VersionTest.Db
+{
+ public class ProductWithVersionAndLazyProperty
+ {
+ byte[] _version = null;
+
+ public virtual int Id { get; set; }
+
+ public virtual string Summary { get; set; }
+
+ public virtual byte[] Version { get { return _version; } }
+ }
+
+ [TestFixture]
+ public class LazyVersionTest : LinqTestCase
+ {
+
+ protected override void AddMappings(Configuration configuration)
+ {
+ var xml = "";
+ var doc = new XmlDocument();
+ doc.LoadXml(xml);
+
+ configuration.AddDocument(doc);
+
+ base.AddMappings(configuration);
+
+ configuration.SetProperty(NHibernate.Cfg.Environment.Hbm2ddlAuto, SchemaAutoAction.Recreate.ToString());
+ configuration.SetProperty(NHibernate.Cfg.Environment.FormatSql, Boolean.TrueString);
+ configuration.SetProperty(NHibernate.Cfg.Environment.ShowSql, Boolean.TrueString);
+ }
+
+ [Test]
+ public void CanUseVersionOnEntityWithLazyProperty()
+ {
+ //NH-3589
+ using (session.BeginTransaction())
+ {
+ this.session.Save(new ProductWithVersionAndLazyProperty { Id = 1, Summary = "Testing, 1, 2, 3" });
+
+ session.Flush();
+
+ this.session.Clear();
+
+ var p = this.session.Get(1);
+
+ p.Summary += ", 4!";
+
+ session.Flush();
+ }
+ }
+ }
+}