--- Zope2/App/startup.py~ 2008-06-14 02:50:23.000000000 -0400 +++ Zope2/App/startup.py 2008-07-10 00:08:02.000000000 -0400 @@ -267,7 +267,8 @@ transaction.begin() def commit(self): - transaction.commit() + if not transaction.isDoomed(): + transaction.commit() def abort(self): transaction.abort() --- ZPublisher/Publish.py~ 2008-06-14 02:50:48.000000000 -0400 +++ ZPublisher/Publish.py 2008-07-10 00:08:08.000000000 -0400 @@ -314,7 +314,8 @@ def begin(self): transaction.begin() def commit(self): - transaction.commit() + if not transaction.get().isDoomed(): + transaction.commit() def abort(self): transaction.abort() def recordMetaData(self, object, request): --- ZPublisher/WSGIPublisher.py~ 2008-06-14 02:50:48.000000000 -0400 +++ ZPublisher/WSGIPublisher.py 2008-07-09 23:59:57.000000000 -0400 @@ -401,7 +401,8 @@ def begin(self): transaction.begin() def commit(self): - transaction.commit() + if not transaction.get().isDoomed(): + transaction.commit() def abort(self): transaction.abort() def recordMetaData(self, object, request):