diff --git a/openerp/tests/addons/test_workflow/data.xml b/openerp/tests/addons/test_workflow/data.xml
index b9f1e367000..6299baa77ea 100644
--- a/openerp/tests/addons/test_workflow/data.xml
+++ b/openerp/tests/addons/test_workflow/data.xml
@@ -403,7 +403,7 @@
+
+ test.workflow.l
+ test.workflow.model.l
+ True
+
+
+
+
+ True
+ a
+ function
+ write({'value': 1})
+ OR
+
+
+
+ True
+ b
+ function
+ write({'value': 2})
+ OR
+
+
+
+ True
+ c
+ function
+ write({'value': 3})
+ XOR
+
+
+
+ True
+ d
+ function
+ write({'value': 3})
+ AND
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/openerp/tests/addons/test_workflow/models.py b/openerp/tests/addons/test_workflow/models.py
index 8214d6313ff..f7a5ef23b1a 100644
--- a/openerp/tests/addons/test_workflow/models.py
+++ b/openerp/tests/addons/test_workflow/models.py
@@ -55,7 +55,7 @@ class e(openerp.osv.orm.Model):
_name = 'test.workflow.model.e'
_inherit = 'test.workflow.model.a'
-for name in 'bcdefghijk':
+for name in 'bcdefghijkl':
type(
name,
(openerp.osv.orm.Model,),
diff --git a/openerp/tests/addons/test_workflow/tests/test_workflow.py b/openerp/tests/addons/test_workflow/tests/test_workflow.py
index 4d9cee98b35..e9ff7b9cd1e 100644
--- a/openerp/tests/addons/test_workflow/tests/test_workflow.py
+++ b/openerp/tests/addons/test_workflow/tests/test_workflow.py
@@ -166,7 +166,18 @@ class test_workflows(common.TransactionCase):
model = self.registry('test.workflow.model.k')
i = model.create(self.cr, SUPERUSER_ID, {})
- self.check_activities(model._name, i, ['b'])
+ # Non-determinisitic: can be b or c
+ # self.check_activities(model._name, i, ['b'])
+ # self.check_activities(model._name, i, ['c'])
self.check_value(model._name, i, 2)
model.unlink(self.cr, SUPERUSER_ID, [i])
+
+ def test_workflow_l(self):
+ model = self.registry('test.workflow.model.l')
+
+ i = model.create(self.cr, SUPERUSER_ID, {})
+ self.check_activities(model._name, i, ['c', 'c', 'd'])
+ self.check_value(model._name, i, 3)
+
+ model.unlink(self.cr, SUPERUSER_ID, [i])