diff --git a/product/ERP5/Tool/ERP5WorkflowTool.py b/product/ERP5/Tool/ERP5WorkflowTool.py
index a91cc9e9bc6736725c938222c134ab108c8f86c0..ba122496179f9be75ab9674b6449da58c255c2f6 100644
--- a/product/ERP5/Tool/ERP5WorkflowTool.py
+++ b/product/ERP5/Tool/ERP5WorkflowTool.py
@@ -118,6 +118,16 @@ class ERP5WorkflowTool(BaseTool, OriginalWorkflowTool):
     PropertySheet.DublinCore,
   )
 
+  def _isBootstrapRequired(self):
+    # migrate after ERP5Tool installed (portal_rules is the first item of setupLastTools
+    # in ERP5Site.py);
+    if self.getPortalObject()._getOb('portal_rules', None) is not None:
+      return True
+    return False
+
+  def _bootstrap(self):
+    self.getPortalObject().migrateToPortalWorkflowClass()
+
   def _jumpToStateFor(self, ob, state_id, wf_id=None, *args, **kw):
     """Inspired from doActionFor.
     This is public method to allow passing meta transition (Jump form