diff --git a/av1/common/av1_common_int.h b/av1/common/av1_common_int.h
index 9a299f2..6760fec 100644
--- a/av1/common/av1_common_int.h
+++ b/av1/common/av1_common_int.h
@@ -2228,11 +2228,7 @@
     case BLOCK_4X8:
     case BLOCK_8X4: return (PARTITION_LONG_SIDE_2_REC + 1);
     case BLOCK_64X128:
-#if ERP_LIMIT_PARTITION3_128
     case BLOCK_128X64: return (PARTITION_LONG_SIDE_2_REC + 1);
-#else
-    case BLOCK_128X64: return (PARTITION_LONG_SIDE_3_REC + 1);
-#endif
     case BLOCK_8X16:
     case BLOCK_16X8:
     case BLOCK_16X32:
diff --git a/av1/common/common_data.h b/av1/common/common_data.h
index cc560a5..baf4f49 100644
--- a/av1/common/common_data.h
+++ b/av1/common/common_data.h
@@ -129,34 +129,16 @@
     BLOCK_32X16,
   }, {  // PARTITION_HORZ_3
     BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, BLOCK_8X4,
-    BLOCK_INVALID, BLOCK_16X4, BLOCK_16X8,
-    BLOCK_INVALID,
-    BLOCK_32X8, BLOCK_32X16,
-    BLOCK_INVALID,
-    BLOCK_64X16,
-#if ERP_LIMIT_PARTITION3_128
-    BLOCK_INVALID,
-#else
-    BLOCK_64X32,
-#endif
-    BLOCK_INVALID, BLOCK_INVALID,
-    BLOCK_4X4, BLOCK_INVALID, BLOCK_8X8, BLOCK_INVALID, BLOCK_16X16,
-    BLOCK_INVALID,
+    BLOCK_INVALID, BLOCK_16X4, BLOCK_16X8, BLOCK_INVALID, BLOCK_32X8,
+    BLOCK_32X16, BLOCK_INVALID, BLOCK_64X16, BLOCK_INVALID, BLOCK_INVALID,
+    BLOCK_INVALID, BLOCK_4X4, BLOCK_INVALID, BLOCK_8X8, BLOCK_INVALID,
+    BLOCK_16X16, BLOCK_INVALID,
   }, {  // PARTITION_VERT_3
     BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID,
-    BLOCK_4X8, BLOCK_4X16,
-    BLOCK_INVALID,
-    BLOCK_8X16, BLOCK_8X32,
-    BLOCK_INVALID,
-    BLOCK_16X32, BLOCK_16X64, BLOCK_INVALID,
-#if ERP_LIMIT_PARTITION3_128
-    BLOCK_INVALID,
-#else
-    BLOCK_32X64,
-#endif
-    BLOCK_INVALID,
-    BLOCK_INVALID, BLOCK_4X4, BLOCK_INVALID, BLOCK_8X8,
-    BLOCK_INVALID, BLOCK_16X16,
+    BLOCK_4X8, BLOCK_4X16, BLOCK_INVALID, BLOCK_8X16, BLOCK_8X32, BLOCK_INVALID,
+    BLOCK_16X32, BLOCK_16X64, BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID,
+    BLOCK_INVALID, BLOCK_4X4, BLOCK_INVALID, BLOCK_8X8, BLOCK_INVALID,
+    BLOCK_16X16,
   }, {  // PARTITION_SPLIT
     BLOCK_INVALID, BLOCK_INVALID, BLOCK_INVALID, BLOCK_4X4, BLOCK_INVALID,
     BLOCK_INVALID, BLOCK_8X8, BLOCK_INVALID, BLOCK_INVALID, BLOCK_16X16,
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c
index 6c79b60..895ee7d 100644
--- a/av1/common/entropymode.c
+++ b/av1/common/entropymode.c
@@ -228,7 +228,6 @@
     };
 #endif  // CONFIG_AIMC
 #if CONFIG_EXT_RECUR_PARTITIONS
-#if ERP_LIMIT_PARTITION3_128
 static const aom_cdf_prob
     default_partition_cdf[PARTITION_STRUCTURE_NUM][PARTITION_CONTEXTS][CDF_SIZE(
         EXT_PARTITION_TYPES)] = { {
@@ -343,64 +342,6 @@
                                      { AOM_CDF3(2286, 20850) },
                                  }
                                };
-#else   // !ERP_LIMIT_PARTITION3_128
-static const aom_cdf_prob
-    default_partition_cdf[PARTITION_STRUCTURE_NUM][PARTITION_CONTEXTS][CDF_SIZE(
-        EXT_PARTITION_TYPES)] = { {
-                                      // 8x8
-                                      { AOM_CDF3(22187, 28914) },
-                                      { AOM_CDF3(17354, 25544) },
-                                      { AOM_CDF3(16287, 28824) },
-                                      { AOM_CDF3(15189, 27217) },
-                                      // 16x16
-                                      { AOM_CDF5(14665, 22357, 28960, 30645) },
-                                      { AOM_CDF5(7804, 13703, 27420, 29025) },
-                                      { AOM_CDF5(7508, 23180, 28044, 30882) },
-                                      { AOM_CDF5(5058, 16122, 25275, 28359) },
-                                      // 32x32
-                                      { AOM_CDF5(11795, 19886, 27120, 29401) },
-                                      { AOM_CDF5(5127, 12682, 26374, 28387) },
-                                      { AOM_CDF5(5522, 19614, 27318, 30668) },
-                                      { AOM_CDF5(3450, 12856, 24163, 28493) },
-                                      // 64x64
-                                      { AOM_CDF5(21562, 26118, 30872, 31711) },
-                                      { AOM_CDF5(5489, 14515, 28365, 29969) },
-                                      { AOM_CDF5(5873, 19195, 28209, 31603) },
-                                      { AOM_CDF5(1674, 15579, 28805, 31560) },
-                                      // 128x128
-                                      { AOM_CDF3(25710, 28640) },
-                                      { AOM_CDF3(7561, 14721) },
-                                      { AOM_CDF3(9603, 21021) },
-                                      { AOM_CDF3(1736, 12989) },
-                                  },
-                                  {
-                                      // 8x8
-                                      { AOM_CDF3(22187, 28914) },
-                                      { AOM_CDF3(17354, 25544) },
-                                      { AOM_CDF3(16287, 28824) },
-                                      { AOM_CDF3(15189, 27217) },
-                                      // 16x16
-                                      { AOM_CDF5(14665, 22357, 28960, 30645) },
-                                      { AOM_CDF5(7804, 13703, 27420, 29025) },
-                                      { AOM_CDF5(7508, 23180, 28044, 30882) },
-                                      { AOM_CDF5(5058, 16122, 25275, 28359) },
-                                      // 32x32
-                                      { AOM_CDF5(11795, 19886, 27120, 29401) },
-                                      { AOM_CDF5(5127, 12682, 26374, 28387) },
-                                      { AOM_CDF5(5522, 19614, 27318, 30668) },
-                                      { AOM_CDF5(3450, 12856, 24163, 28493) },
-                                      // 64x64
-                                      { AOM_CDF5(21562, 26118, 30872, 31711) },
-                                      { AOM_CDF5(5489, 14515, 28365, 29969) },
-                                      { AOM_CDF5(5873, 19195, 28209, 31603) },
-                                      { AOM_CDF5(1674, 15579, 28805, 31560) },
-                                      // 128x128
-                                      { AOM_CDF3(25710, 28640) },
-                                      { AOM_CDF3(7561, 14721) },
-                                      { AOM_CDF3(9603, 21021) },
-                                      { AOM_CDF3(1736, 12989) },
-                                  } };
-#endif  // ERP_LIMIT_PARTITION3_128
 
 static const aom_cdf_prob default_limited_partition_cdf
     [PARTITION_STRUCTURE_NUM][NUM_LIMITED_PARTITION_PARENTS][PARTITION_CONTEXTS]
@@ -714,7 +655,6 @@
 #endif  // CONFIG_EXT_RECUR_PARTITIONS
 
 #if CONFIG_EXT_RECUR_PARTITIONS
-#if ERP_LIMIT_PARTITION3_128
 static const aom_cdf_prob
     default_partition_rec_cdf[PARTITION_CONTEXTS_REC]
                              [CDF_SIZE(PARTITION_TYPES_REC)] = {
@@ -773,37 +713,6 @@
                                      { AOM_CDF2(8532) },
                                      { AOM_CDF2(8532) },
                                    };
-#else   // !ERP_LIMIT_PARTITION3_128
-static const aom_cdf_prob
-    default_partition_rec_cdf[PARTITION_CONTEXTS_REC]
-                             [CDF_SIZE(PARTITION_TYPES_REC)] = {
-                               // 8x4, 4x8
-                               { AOM_CDF2(30462) },
-                               { AOM_CDF2(25506) },
-                               { AOM_CDF2(27632) },
-                               { AOM_CDF2(19443) },
-                               // 16x8, 8x16
-                               { AOM_CDF4(19986, 29676, 30790) },
-                               { AOM_CDF4(12672, 24996, 30937) },
-                               { AOM_CDF4(16895, 30097, 30155) },
-                               { AOM_CDF4(10676, 22283, 25595) },
-                               // 32x16, 16x32
-                               { AOM_CDF4(13648, 24298, 31008) },
-                               { AOM_CDF4(6941, 18823, 31326) },
-                               { AOM_CDF4(8081, 19947, 30935) },
-                               { AOM_CDF4(4728, 17352, 30577) },
-                               // 64x32, 32x64
-                               { AOM_CDF4(14004, 23614, 30662) },
-                               { AOM_CDF4(5530, 18449, 30965) },
-                               { AOM_CDF4(6144, 19185, 31435) },
-                               { AOM_CDF4(7382, 19434, 30389) },
-                               // 128x64, 64x128
-                               { AOM_CDF3(15208, 24398) },
-                               { AOM_CDF3(6597, 18232) },
-                               { AOM_CDF3(9068, 21038) },
-                               { AOM_CDF3(10923, 21845) },
-                             };
-#endif  // ERP_LIMIT_PARTITION3_128
 // TODO(chiyotsai@google.com): Retune the cdf here
 static const aom_cdf_prob
     default_partition_middle_rec_cdf[PARTITION_CONTEXTS_REC]
diff --git a/av1/common/enums.h b/av1/common/enums.h
index 26d6433..e410541 100644
--- a/av1/common/enums.h
+++ b/av1/common/enums.h
@@ -297,7 +297,6 @@
 #define PARTITION_CONTEXTS (PARTITION_BLOCK_SIZES * PARTITION_PLOFFSET)
 
 #if CONFIG_EXT_RECUR_PARTITIONS
-#define ERP_LIMIT_PARTITION3_128 1
 // If the parent block is PARTITION_3, then we might have a smaller set of
 // partitions
 #define NUM_LIMITED_PARTITION_PARENTS (2)
diff --git a/tools/aom_entropy_optimizer.c b/tools/aom_entropy_optimizer.c
index d9a9dc1..a287402 100644
--- a/tools/aom_entropy_optimizer.c
+++ b/tools/aom_entropy_optimizer.c
@@ -455,36 +455,9 @@
 
   cts_each_dim[0] = PARTITION_CONTEXTS_REC;
   cts_each_dim[1] = PARTITION_TYPES_REC;
-  int part_types_each_ctx_rec[PARTITION_CONTEXTS_REC] = {
-    2,
-    2,
-    2,
-    2,
-    4,
-    4,
-    4,
-    4,
-    4,
-    4,
-    4,
-    4,
-    4,
-    4,
-    4,
-    4,
-#if ERP_LIMIT_PARTITION3_128
-    2,
-    2,
-    2,
-    2
-  };
-#else
-    3,
-    3,
-    3,
-    3
-  };
-#endif
+  int part_types_each_ctx_rec[PARTITION_CONTEXTS_REC] = { 2, 2, 2, 2, 4, 4, 4,
+                                                          4, 4, 4, 4, 4, 4, 4,
+                                                          4, 4, 2, 2, 2, 2 };
   optimize_cdf_table_var_modes_2d(
       &fc.partition_rec[0][0], probsfile, 2, cts_each_dim,
       part_types_each_ctx_rec,
