diff --git a/product/ERP5/Interactor/PortalTypeClassInteractor.py b/product/ERP5/Interactor/PortalTypeClassInteractor.py
index 03633913bd5214659f90fa1f11ed92b319d27709..109dc2dfd4a902e1f0542831697efd86298a4176 100644
--- a/product/ERP5/Interactor/PortalTypeClassInteractor.py
+++ b/product/ERP5/Interactor/PortalTypeClassInteractor.py
@@ -28,8 +28,6 @@
 ##############################################################################
 
 from Products.ERP5Type.Interactor.Interactor import Interactor
-import transaction
-from Products.ERP5Type.TransactionalVariable import getTransactionalVariable
 
 class PortalTypeClassInteractor(Interactor):
   """
@@ -63,11 +61,4 @@ class PortalTypeClassInteractor(Interactor):
     types_tool = getattr(portal, 'portal_types', None)
     if types_tool is None:
       return
-
-    # XXX this could be a generic doOnceAtEndOfTransaction in
-    # Interactor baseclass
-    tv = getTransactionalVariable()
-    key = 'Interactor.PortalTypeClassInteractor.resetDynamic'
-    if key not in tv:
-      tv[key] = None
-      transaction.get().addBeforeCommitHook(types_tool.resetDynamicDocuments)
+    types_tool.resetDynamicDocumentsOnceAtTransactionBoundary()