diff -urN a/filter/filter.c b/filter/filter.c
--- a/filter/filter.c	2013-07-28 21:48:28.000000000 +0300
+++ b/filter/filter.c	2013-11-11 10:05:04.358003244 +0200
@@ -412,6 +412,11 @@
   if ((v1.type == T_PREFIX) && (v2.type == T_PREFIX_SET))
     return trie_match_fprefix(v2.val.ti, &v1.val.px);
 
+  if ((v1.type == T_IP) && (v2.type == T_PREFIX_SET)) {
+    v1.val.px.len = MAX_PREFIX_LENGTH;
+    return trie_match_fprefix(v2.val.ti, &v1.val.px);
+  }
+
   if ((v1.type == T_CLIST) && (v2.type == T_SET))
     return clist_match_set(v1.val.ad, v2.val.t);
 
