diff --git a/stcheck.py b/stcheck.py
index 3d59f6b1cbb90278f3b4374dce36b6e31c7e9884_c3RjaGVjay5weQ==..2a91bdfedde4f10fd391abeeb12fb662f3b502d0_c3RjaGVjay5weQ== 100644
--- a/stcheck.py
+++ b/stcheck.py
@@ -9,6 +9,7 @@
 from itertools import chain
 from logilab.common.compat import any
 from logilab.common.graph import has_path
+from logilab.database import UnknownFunction
 
 from rql._exceptions import BadRQLQuery
 from rql.utils import function_description
@@ -318,5 +319,4 @@
     def visit_function(self, function, errors):
         try:
             funcdescr = function_description(function.name)
-        except KeyError:
             errors.append('unknown function "%s"' % function.name)
@@ -322,4 +322,5 @@
             errors.append('unknown function "%s"' % function.name)
+        except UnknownFunction:
         else:
             try:
                 funcdescr.check_nbargs(len(function.children))