diff --git a/Src/NHibernate.Envers.Tests/NetSpecific/Integration/TransactionUnexpectedFlush/Entity.cs b/Src/NHibernate.Envers.Tests/NetSpecific/Integration/TransactionUnexpectedFlush/Entity.cs
new file mode 100644
index 00000000..32c0f034
--- /dev/null
+++ b/Src/NHibernate.Envers.Tests/NetSpecific/Integration/TransactionUnexpectedFlush/Entity.cs
@@ -0,0 +1,13 @@
+using System;
+using NHibernate.Envers.Configuration.Attributes;
+
+namespace NHibernate.Envers.Tests.NetSpecific.Integration.TransactionUnexpectedFlush
+{
+ [Audited]
+ public class Entity
+ {
+ public virtual Guid Id { get; set; }
+
+ public virtual string Name { get; set; }
+ }
+}
diff --git a/Src/NHibernate.Envers.Tests/NetSpecific/Integration/TransactionUnexpectedFlush/Mapping.hbm.xml b/Src/NHibernate.Envers.Tests/NetSpecific/Integration/TransactionUnexpectedFlush/Mapping.hbm.xml
new file mode 100644
index 00000000..77071e5f
--- /dev/null
+++ b/Src/NHibernate.Envers.Tests/NetSpecific/Integration/TransactionUnexpectedFlush/Mapping.hbm.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
diff --git a/Src/NHibernate.Envers.Tests/NetSpecific/Integration/TransactionUnexpectedFlush/TransactionUnexpectedFlushTest.cs b/Src/NHibernate.Envers.Tests/NetSpecific/Integration/TransactionUnexpectedFlush/TransactionUnexpectedFlushTest.cs
new file mode 100644
index 00000000..420bf81e
--- /dev/null
+++ b/Src/NHibernate.Envers.Tests/NetSpecific/Integration/TransactionUnexpectedFlush/TransactionUnexpectedFlushTest.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using NUnit.Framework;
+
+namespace NHibernate.Envers.Tests.NetSpecific.Integration.TransactionUnexpectedFlush
+{
+ public class TransactionUnexpectedFlushTest : TestBase
+ {
+ public TransactionUnexpectedFlushTest(AuditStrategyForTest strategyType)
+ : base(strategyType)
+ {
+ }
+
+ protected override IEnumerable Mappings => new[] {"NetSpecific.Integration.TransactionUnexpectedFlush.Mapping.hbm.xml"};
+
+ protected override void Initialize()
+ {
+ }
+
+ [Test]
+ public void GetCurrentRevision_PersistIsTrue_ShouldNotFlushUncommitedChanges()
+ {
+ // Arrange
+ var entity = new Entity { Id = Guid.NewGuid(), Name = "entity name" };
+
+ int notCommitedTransactionEntitiesCount = 0;
+
+ // Act
+ using (var tx = Session.BeginTransaction())
+ {
+ Session.Save(entity);
+
+ AuditReader().GetCurrentRevision(true);
+
+ notCommitedTransactionEntitiesCount = Session.Query().Count();
+
+ tx.Commit();
+ }
+
+ // Assert
+ Assert.Zero(notCommitedTransactionEntitiesCount);
+ }
+ }
+}