diff --git oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
index 489e1fd..fcd51bb 100644
--- oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
+++ oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
@@ -295,6 +295,7 @@ class IndexDefinition implements Aggregate.AggregateMapper{
         return blobSize;
     }
 
+    @CheckForNull
     public Codec getCodec() {
         return codec;
     }
@@ -1145,6 +1146,8 @@ class IndexDefinition implements Aggregate.AggregateMapper{
         Codec codec = null;
         if (codecName != null) {
             codec = Codec.forName(codecName);
+        } else if (getVersion().isAtLeast(IndexFormatVersion.V3)){
+            codec = null; //Let Lucene use the default codec
         } else if (fullTextEnabled) {
             codec = new OakCodec();
         }
diff --git oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexFormatVersion.java oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexFormatVersion.java
index 56953e7..01b40c6 100644
--- oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexFormatVersion.java
+++ oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexFormatVersion.java
@@ -27,7 +27,11 @@ public enum IndexFormatVersion {
     /**
      * Index confirming to Oak version upto 1.0.9
      */
-    V2(2);
+    V2(2),
+    /**
+     * With this version no default codec is specified (OAK-2853)
+     */
+    V3(3);
 
     private final int version;
 
@@ -55,12 +59,13 @@ public enum IndexFormatVersion {
         switch(version){
             case 1 : return V1;
             case 2 : return V2;
+            case 3 : return V3;
             default : throw new IllegalArgumentException("Unknown version : " + version);
         }
     }
 
     public static IndexFormatVersion getDefault(){
-        return V2;
+        return V3;
     }
 
     public static IndexFormatVersion max(IndexFormatVersion o1, IndexFormatVersion o2){
diff --git oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/package-info.java oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/package-info.java
index 93f1810..0d63c00 100644
--- oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/package-info.java
+++ oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/package-info.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-@Version("2.2.0")
+@Version("2.3.0")
 @Export(optional = "provide:=true")
 package org.apache.jackrabbit.oak.plugins.index.lucene;
 
diff --git oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
index b9a5781..5cbe586 100644
--- oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
+++ oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
@@ -135,6 +135,7 @@ public class IndexDefinitionTest {
 
     @Test
     public void codecConfig() throws Exception{
+        builder.setProperty(LuceneIndexConstants.COMPAT_MODE, IndexFormatVersion.V2.getVersion());
         IndexDefinition defn = new IndexDefinition(root, builder.getNodeState());
         assertNotNull(defn.getCodec());
         assertEquals(oakCodec.getName(), defn.getCodec().getName());
@@ -151,6 +152,12 @@ public class IndexDefinitionTest {
     }
 
     @Test
+    public void defaultCodecNull() throws Exception{
+        IndexDefinition defn = new IndexDefinition(root, builder.getNodeState());
+        assertNull(defn.getCodec());
+    }
+
+    @Test
     public void relativePropertyConfig() throws Exception{
         builder.child(PROP_NODE).child("foo1").child("bar").setProperty(LuceneIndexConstants.PROP_TYPE, PropertyType.TYPENAME_DATE);
         builder.child(PROP_NODE).child("foo2").child("bar2").child("baz").setProperty(LuceneIndexConstants.PROP_TYPE, PropertyType.TYPENAME_LONG);
@@ -402,7 +409,7 @@ public class IndexDefinitionTest {
         NodeBuilder defnb = newLucenePropertyIndexDefinition(builder, "test", of("foo"), "async");
 
         IndexDefinition defn = new IndexDefinition(root, defnb.getNodeState());
-        assertEquals(IndexFormatVersion.V2, defn.getVersion());
+        assertTrue(defn.getVersion().isAtLeast(IndexFormatVersion.V2));
     }
 
     @Test
