diff --git a/product/ERP5/tests/testBPMEvaluation.py b/product/ERP5/tests/testBPMEvaluation.py
index 0e1db5a562fac9573910bce0dd22d41a38998867..5c79f9a0a1919b9310e0c7995d9241a932ce0bef 100644
--- a/product/ERP5/tests/testBPMEvaluation.py
+++ b/product/ERP5/tests/testBPMEvaluation.py
@@ -391,10 +391,13 @@ class TestBPMEvaluationMixin(TestBPMMixin):
       # root rule is order or delivery - so below each movement invoicing one
       # is expected
       self.assertEquals(len(root_simulation_movement.contentValues()), 1)
-      delivery_rule = root_simulation_movement.contentValues()[0]
-      delivery_simulation_movement_list = delivery_rule.contentValues()
-      self.assertEqual(1, len(delivery_simulation_movement_list))
-      delivery_simulation_movement = delivery_simulation_movement_list[0]
+      if self.root_rule_portal_type == 'Order Root Simulation Rule':
+        delivery_rule = root_simulation_movement.contentValues()[0]
+        delivery_simulation_movement_list = delivery_rule.contentValues()
+        self.assertEqual(1, len(delivery_simulation_movement_list))
+        delivery_simulation_movement = delivery_simulation_movement_list[0]
+      else:
+        delivery_simulation_movement = root_simulation_movement
       for bpm_invoicing_rule in delivery_simulation_movement.contentValues():
         self.assertEqual(bpm_invoicing_rule.getPortalType(), 'Applied Rule')
         self.assertEqual(bpm_invoicing_rule.getSpecialiseValue() \