diff --git a/pythran/passmanager.py b/pythran/passmanager.py
index <HASH>..<HASH> 100644
--- a/pythran/passmanager.py
+++ b/pythran/passmanager.py
@@ -137,6 +137,8 @@ class PassManager(object):
         n = a.run(node, ctx)
         if issubclass(transformation, Transformation):
             ast.fix_missing_locations(node)
-        else:
+        elif issubclass(transformation, Analysis):
             a.display(n)
+        else:
+            pass  # FIXME raise unknown_kind_of_pass or internal_error?
         return n
Defensive approach in the pass manager when apply() on unknown pass type

I still don't know if we should raise or warn or whatever here. At least
do not call blindly display() unless there is a super-class for passes
that provide it.
Defensive programmign apart, code is more readable with the check for
'Analysis' type. Still wonder if "transformation" is the right name
for the pass.