Index: oak-jcr/pom.xml
===================================================================
--- oak-jcr/pom.xml	(revision 1413566)
+++ oak-jcr/pom.xml	(working copy)
@@ -208,7 +208,6 @@
       org.apache.jackrabbit.test.api.query.SQLJoinTest#testJoinFilterPrimaryType
       org.apache.jackrabbit.test.api.query.SQLJoinTest#testJoinSNS
       org.apache.jackrabbit.test.api.query.qom.ColumnTest#testExpandColumnsForNodeType
-      org.apache.jackrabbit.test.api.query.qom.SelectorTest#testUnknownNodeType
       org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testReferenceLiteral
       org.apache.jackrabbit.test.api.query.qom.NodeNameTest#testWeakReferenceLiteral
       org.apache.jackrabbit.test.api.query.qom.SameNodeJoinConditionTest#testInnerJoin
Index: oak-core/src/test/java/org/apache/jackrabbit/oak/query/AbstractQueryTest.java
===================================================================
--- oak-core/src/test/java/org/apache/jackrabbit/oak/query/AbstractQueryTest.java	(revision 1413566)
+++ oak-core/src/test/java/org/apache/jackrabbit/oak/query/AbstractQueryTest.java	(working copy)
@@ -43,7 +43,6 @@
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.spi.query.PropertyValues;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
@@ -168,7 +167,6 @@
                     String got;
                     try {
                         got = c.convert(line);
-                        executeQuery(got, QueryEngineImpl.SQL2, null);
                     } catch (ParseException e) {
                         got = "invalid: " + e.getMessage().replace('\n', ' ');
                     } catch (Exception e) {
@@ -297,4 +295,4 @@
                 .getInputArguments().toString().indexOf("-agentlib:jdwp") > 0;
     }
 
-}
\ No newline at end of file
+}
Index: oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java
===================================================================
--- oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java	(revision 1413566)
+++ oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/SelectorImpl.java	(working copy)
@@ -123,7 +123,7 @@
 
     private Filter createFilter() {
         FilterImpl f = new FilterImpl(this, query.getStatement());
-        validateNodeType(nodeTypeName);
+        validateNodeType();
         f.setNodeType(nodeTypeName);
         if (joinCondition != null) {
             joinCondition.restrict(f);
@@ -144,12 +144,20 @@
 
         return f;
     }
-    
-    private void validateNodeType(String nodeType) {
+
+    private void validateNodeType() {
         // this looks a bit weird, but it should be correct - the code
         // assumes that paths and node type names have the same format
         // restrictions (characters such as "[" are not allowed and so on)
-        query.validatePath(nodeType);
+        query.validatePath(nodeTypeName);
+        try {
+            // force init of node types, which will also check for the node
+            // type's existence
+            getNodeTypes();
+        } catch (RepositoryException e) {
+            throw new IllegalArgumentException("Unable to determine node type "
+                    + nodeTypeName, e);
+        }
     }
 
     @Override
