diff --git a/product/ERP5/tests/testPredicate.py b/product/ERP5/tests/testPredicate.py
index d80980dd3dce3af5280fde09d8c3ff783a23f017..e2755092eb0e273182605178828564814e5cedf0 100644
--- a/product/ERP5/tests/testPredicate.py
+++ b/product/ERP5/tests/testPredicate.py
@@ -553,6 +553,42 @@ class TestPredicates(TestPredicateMixIn):
       )
     self.assert_(test(predicate_with_membership_values.searchResults))
 
+  def test_searchResultsWithParameters(self):
+    """
+    Check that we can restrict filter used by predicate passing parameters to
+    searchResults.
+    """
+    # create one person and one organisation
+    person_module = self.portal.getDefaultModule('Person')
+    fabien = person_module.newContent(title='Fabien')
+    organisation_module = self.portal.getDefaultModule('Organisation')
+    nexedi = organisation_module.newContent(title='Nexedi')
+
+    predicate = self.createPredicate(criterion_property_list=['portal_type'])
+    predicate.setCriterion('portal_type', ['Person', 'Organisation'])
+    transaction.commit()
+    self.tic()
+
+    # check that if we define the same filter than on predicate we get same result
+    self.assertEquals(len(predicate.searchResults()), 2)
+    self.assertSameSet(set([x.getObject() for x in predicate.searchResults(portal_type=['Person',
+    'Organisation'])]), set([fabien, nexedi]))
+
+    # check that it's possible to filter results
+    self.assertEquals([x.getObject() for x in \
+      predicate.searchResults(portal_type='Person')], [fabien])
+    self.assertEquals([x.getObject() for x in \
+        predicate.searchResults(portal_type='Organisation')], [nexedi])
+
+    # check that if the filter define more properties, we cannot have more than
+    # the one defined on the predicate
+    currency_module = self.portal.getDefaultModule('Currency')
+    euro = currency_module.newContent(title='euro')
+
+    self.assertSameSet(set([x.getObject() for x in predicate.searchResults(portal_type=['Person',
+    'Organisation'])]), set([fabien, nexedi]))
+
+
 # TODO :
 #  multi membership category
 #  asPredicate scripts