diff --git a/product/ERP5/Document/AcceptSolver.py b/product/ERP5/Document/AcceptSolver.py
index ef356ba8ffd71f2b60428650c0a947ecfbc56ace..52d602a3376c3d992209741f7d27e9514274733b 100644
--- a/product/ERP5/Document/AcceptSolver.py
+++ b/product/ERP5/Document/AcceptSolver.py
@@ -32,8 +32,9 @@ from AccessControl import ClassSecurityInfo
 from Products.CMFCore.utils import getToolByName
 from Products.ERP5Type import Permissions, PropertySheet, interfaces
 from Products.ERP5Type.XMLObject import XMLObject
+from Products.ERP5.mixin.solver import SolverMixin
 
-class AcceptSolver(XMLObject):
+class AcceptSolver(SolverMixin, XMLObject):
   """
   """
   meta_type = 'ERP5 Accept Solver'
@@ -62,9 +63,7 @@ class AcceptSolver(XMLObject):
     Adopt new property to simulation movements, with keeping the
     original one recorded.
     """
-    solver_decision = self.getSolverRelatedValue()
-    divergence_tester = solver_decision.getCausalityValue()
-    solved_property = divergence_tester.getTestedProperty()
+    solved_property = self._getPortalTypeValue().getTestedProperty()
     for movement in self.getDeliveryValueList():
       new_value = movement.getProperty(solved_property)
       for simulation_movement in movement.getDeliveryRelatedValueList(
diff --git a/product/ERP5/mixin/solver.py b/product/ERP5/mixin/solver.py
index 27e056136b778983ea5c905ca3172c9a4c9dd7da..cc650c3707114d89a02f0925d0564cfc8d08e7dd 100644
--- a/product/ERP5/mixin/solver.py
+++ b/product/ERP5/mixin/solver.py
@@ -43,3 +43,6 @@ class SolverMixin:
   zope.interface.implements(interfaces.ISolver,)
 
   # Implementation of ISolver
+
+  def _getPortalTypeValue(self):
+    return self.getPortalObject().portal_types._getOb(self.getPortalType())