diff --git a/stcheck.py b/stcheck.py
index 53bfe2a8b98c3b0151a165da40efe10072d6ef22_c3RjaGVjay5weQ==..40d521c47ebe19f088bbdbda7fd4b4dbde17170f_c3RjaGVjay5weQ== 100644
--- a/stcheck.py
+++ b/stcheck.py
@@ -202,8 +202,6 @@
         pass
     
     def visit_relation(self, relation, errors):
-        if not relation.r_type in self.schema:
-            errors.append('unknown relation %s' % relation.r_type)
         if relation.optional and relation.neged():
                 errors.append("can use optional relation under NOT (%s)"
                               % relation.as_string())
@@ -212,13 +210,17 @@
             lhs, rhs = relation.children
             assert not isinstance(relation.parent, Not)
             assert rhs.operator == '='
-        # special case "C is NULL"
-        elif relation.r_type == 'is' and relation.children[1].operator == 'IS':
-            lhs, rhs = relation.children
-            assert isinstance(lhs, VariableRef), lhs
-            assert isinstance(rhs.children[0], Constant)
-            assert rhs.operator == 'IS', rhs.operator
-            assert rhs.children[0].type == None
+        elif relation.r_type == 'is':
+            # special case "C is NULL"
+            if relation.children[1].operator == 'IS':
+                lhs, rhs = relation.children
+                assert isinstance(lhs, VariableRef), lhs
+                assert isinstance(rhs.children[0], Constant)
+                assert rhs.operator == 'IS', rhs.operator
+                assert rhs.children[0].type == None
+        elif not relation.r_type in self.schema:
+            errors.append('unknown relation %s' % relation.r_type)
+        
     def leave_relation(self, relation, errors):
         pass
         #assert isinstance(lhs, VariableRef), '%s: %s' % (lhs.__class__,