diff --git a/product/ERP5/Document/AppliedRule.py b/product/ERP5/Document/AppliedRule.py
index 6cf7ee7bfc3e39205163567401d9edec802341f2..d5acccccb3b96a1a45466a094a3ddd9045123405 100644
--- a/product/ERP5/Document/AppliedRule.py
+++ b/product/ERP5/Document/AppliedRule.py
@@ -32,6 +32,7 @@ from Products.ERP5Type import Permissions, PropertySheet, Constraint, Interface
 from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Type.PsycoWrapper import psyco
 from Products.ERP5Type.TransactionalVariable import getTransactionalVariable
+from Products.ERP5Type.UnrestrictedMethod import UnrestrictedMethod
 
 from zLOG import LOG
 
@@ -93,6 +94,10 @@ class AppliedRule(XMLObject):
         An applied rule can be expanded only if its parent movement
         is expanded.
       """
+      expand = UnrestrictedMethod(self._expand)
+      return expand(**kw)
+
+    def _expand(self, **kw):
       tv = getTransactionalVariable(self)
       cache = tv.setdefault(TREE_DELIVERED_CACHE_KEY, {})
       cache_enabled = cache.get(TREE_DELIVERED_CACHE_ENABLED, 0)