diff --git oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NativeFunctionImpl.java oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NativeFunctionImpl.java
index 6a2f057..083d7ec 100644
--- oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NativeFunctionImpl.java
+++ oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NativeFunctionImpl.java
@@ -23,7 +23,8 @@ import java.util.Set;
 
 import org.apache.jackrabbit.oak.api.PropertyValue;
 import org.apache.jackrabbit.oak.query.index.FilterImpl;
-import org.apache.jackrabbit.oak.spi.query.QueryIndex.FulltextQueryIndex;
+
+import static org.apache.jackrabbit.oak.spi.query.QueryIndex.NativeQueryIndex;
 
 /**
  * A native function condition.
@@ -61,7 +62,7 @@ public class NativeFunctionImpl extends ConstraintImpl {
         // disable evaluation if a fulltext index is used,
         // and because we don't know how to process native
         // conditions
-        if (!(selector.getIndex() instanceof FulltextQueryIndex)) {
+        if (!(selector.getIndex() instanceof NativeQueryIndex)) {
             throw new IllegalArgumentException("No full-text index was found that can process the condition " + toString());
         }
         // we assume the index only returns the requested entries
diff --git oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/QueryIndex.java oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/QueryIndex.java
index 1f7d378..a5c8bf8 100644
--- oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/QueryIndex.java
+++ oak-core/src/main/java/org/apache/jackrabbit/oak/spi/query/QueryIndex.java
@@ -115,12 +115,19 @@ public interface QueryIndex {
     String getIndexName();
 
     /**
-     * A maker interface which means this index supports may support more than
+     *  A marker interface which means this index supports executing native queries
+     */
+    public interface NativeQueryIndex {
+
+    }
+
+    /**
+     * A marker interface which means this index supports may support more than
      * just the minimal fulltext query syntax. If this index is used, then the
      * query engine does not verify the fulltext constraint(s) for the given
      * selector.
      */
-    public interface FulltextQueryIndex extends QueryIndex {
+    public interface FulltextQueryIndex extends QueryIndex, NativeQueryIndex {
 
         /**
          * Returns the NodeAggregator responsible for providing the aggregation
diff --git oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
index be0d207..14ac3e9 100644
--- oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
+++ oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java
@@ -107,6 +107,7 @@ import static org.apache.jackrabbit.oak.plugins.index.lucene.TermFactory.newFull
 import static org.apache.jackrabbit.oak.plugins.index.lucene.TermFactory.newPathTerm;
 import static org.apache.jackrabbit.oak.query.QueryImpl.JCR_PATH;
 import static org.apache.jackrabbit.oak.spi.query.QueryIndex.AdvancedQueryIndex;
+import static org.apache.jackrabbit.oak.spi.query.QueryIndex.NativeQueryIndex;
 import static org.apache.lucene.search.BooleanClause.Occur.MUST;
 import static org.apache.lucene.search.BooleanClause.Occur.MUST_NOT;
 import static org.apache.lucene.search.BooleanClause.Occur.SHOULD;
@@ -150,7 +151,7 @@ import static org.apache.lucene.search.BooleanClause.Occur.SHOULD;
  * @see org.apache.jackrabbit.oak.spi.query.QueryIndex
  *
  */
-public class LucenePropertyIndex implements AdvancedQueryIndex, QueryIndex {
+public class LucenePropertyIndex implements AdvancedQueryIndex, QueryIndex, NativeQueryIndex {
 
     private static final Logger LOG = LoggerFactory
             .getLogger(LucenePropertyIndex.class);
diff --git oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
index c17e8a5..eae7111 100644
--- oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
+++ oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndexTest.java
@@ -359,7 +359,6 @@ public class LucenePropertyIndexTest extends AbstractQueryTest {
         assertQuery("select [jcr:path] from [nt:base] where propa like '%ty'", asList("/test/a", "/test/b"));
     }
 
-    @Ignore("OAK-2241")
     @Test
     public void nativeQueries() throws Exception {
         Tree idx = createIndex("test1", of("propa", "propb"));
