diff --git a/src/Orchard/Data/SessionLocator.cs b/src/Orchard/Data/SessionLocator.cs index e6d74d420..126fc1de5 100644 --- a/src/Orchard/Data/SessionLocator.cs +++ b/src/Orchard/Data/SessionLocator.cs @@ -49,8 +49,10 @@ namespace Orchard.Data { } public void Cancel() { - Logger.Debug("Rolling back transaction"); - _session.Transaction.Rollback(); + if (_session!= null && !_session.Transaction.WasRolledBack && _session.Transaction.IsActive) { + Logger.Debug("Rolling back transaction"); + _session.Transaction.Rollback(); + } } public void Dispose() {