diff --git a/product/ERP5Type/patches/ActionsTool.py b/product/ERP5Type/patches/ActionsTool.py
index a593c02b5c964b5a81aa3ea9ccca098ea774925c..5a17272cd615f7b4e3a210f6579a662ace0cb6ce 100644
--- a/product/ERP5Type/patches/ActionsTool.py
+++ b/product/ERP5Type/patches/ActionsTool.py
@@ -12,7 +12,14 @@
 #
 ##############################################################################
 
-from Products.CMFCore.ActionsTool import ActionsTool, IActionProvider
+from Products.CMFCore.ActionsTool import ActionsTool
+try:
+  from Products.CMFCore.interfaces import IActionProvider
+  providedBy = IActionProvider.providedBy
+except ImportError:
+  # XXX Do not initialize ZCML in unit tests on Zope 2.8 for the moment
+  from Products.CMFCore.ActionsTool import IActionProvider
+  providedBy = IActionProvider.isImplementedBy
 
 ActionsTool_listFilteredActionsFor = ActionsTool.listFilteredActionsFor
 
@@ -27,7 +34,7 @@ def listFilteredActionsFor(self, object=None):
     # Include actions from specific tools.
     for provider_name in self.listActionProviders():
         provider = getattr(self, provider_name)
-        if IActionProvider.isImplementedBy(provider):
+        if providedBy(provider):
             actions.extend( provider.listActionInfos(object=object) )
         elif hasattr(provider, 'getFilteredActionListFor'):
             from Products.ERP5Type.Utils import createExpressionContext