diff --git a/Sample.cfg b/Sample.cfg
index d24663d..d5dbe66 100644
--- a/Sample.cfg
+++ b/Sample.cfg
@@ -16,7 +16,6 @@
 disable_flip_idtx = 0                   # disable flip and identity transform
 disable_tx_64x64 = 0                    # disable 64x64 transform
 reduced_tx_type_set = 0                 # use reduced transform type set
-tx_size_search_method = 0               # 0:FULL_RD, 1 : FAST_RD, 2 : USE_LARGEST
 reduced_reference_set = 0               # use reduced reference frame set
 disable_obmc = 0                        # disable OBMC
 disable_warp_motion = 0                 # disable Warped Motion
diff --git a/aom/aom_encoder.h b/aom/aom_encoder.h
index 39203c0..a4e5f70 100644
--- a/aom/aom_encoder.h
+++ b/aom/aom_encoder.h
@@ -308,10 +308,6 @@
    *
    */
   unsigned int disable_intra_angle_delta;
-  /*!\brief specify transform size search method
-   * 0:FULLRD,1:FASTRD,2:USELARGEST
-   */
-  unsigned int tx_size_search_method;
   /*!\brief disable intra edge filter
    *
    */
diff --git a/aom/aomcx.h b/aom/aomcx.h
index ae4ac3d..790daca 100644
--- a/aom/aomcx.h
+++ b/aom/aomcx.h
@@ -834,13 +834,9 @@
    */
   AV1E_SET_ENABLE_FLIP_IDTX = 81,
 
-  /*!\brief Codec control function to set transform block size search method.
+  /*!\brief enum value 82 is empty.
    *
-   * This will set the transform block size search method.
-   * 0: use Full RD search, 1: use Fast RD search, 2: always use largest
-   * allowed transform block size based on partition size.
    */
-  AV1E_SET_TX_SIZE_SEARCH_METHOD = 82,
 
   /*!\brief Codec control function to turn on / off dist-wtd compound mode
    * at sequence level.
@@ -1446,9 +1442,6 @@
 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_TX64, int)
 #define AOM_CTRL_AV1E_SET_ENABLE_TX64
 
-AOM_CTRL_USE_TYPE(AV1E_SET_TX_SIZE_SEARCH_METHOD, int)
-#define AOM_CTRL_AV1E_SET_TXSIZE_SEARCH_METHOD
-
 AOM_CTRL_USE_TYPE(AV1E_SET_ENABLE_FLIP_IDTX, int)
 #define AOM_CTRL_AV1E_SET_ENABLE_FLIP_IDTX
 
diff --git a/apps/aomenc.c b/apps/aomenc.c
index a2baf9ce..56441c8 100644
--- a/apps/aomenc.c
+++ b/apps/aomenc.c
@@ -476,10 +476,6 @@
 static const arg_def_t enable_tx64 =
     ARG_DEF(NULL, "enable-tx64", 1,
             "Enable 64-pt transform (0: false, 1: true (default))");
-static const arg_def_t tx_size_search_method =
-    ARG_DEF(NULL, "tx-size-search-method", 1,
-            "Set transform block size search method "
-            "(0: Full RD (default), 1: Fast RD, 2: use largest allowed)");
 static const arg_def_t enable_flip_idtx =
     ARG_DEF(NULL, "enable-flip-idtx", 1,
             "Enable extended transform type (0: false, 1: true (default)) "
@@ -829,7 +825,6 @@
                                        &enable_intra_edge_filter,
                                        &enable_order_hint,
                                        &enable_tx64,
-                                       &tx_size_search_method,
                                        &enable_flip_idtx,
                                        &enable_dist_wtd_comp,
                                        &enable_masked_comp,
@@ -935,7 +930,6 @@
                                         AV1E_SET_ENABLE_INTRA_EDGE_FILTER,
                                         AV1E_SET_ENABLE_ORDER_HINT,
                                         AV1E_SET_ENABLE_TX64,
-                                        AV1E_SET_TX_SIZE_SEARCH_METHOD,
                                         AV1E_SET_ENABLE_FLIP_IDTX,
                                         AV1E_SET_ENABLE_DIST_WTD_COMP,
                                         AV1E_SET_ENABLE_MASKED_COMP,
@@ -1761,7 +1755,6 @@
   SHOW_PARAMS(disable_filter_intra);
   SHOW_PARAMS(disable_dual_filter);
   SHOW_PARAMS(disable_intra_angle_delta);
-  SHOW_PARAMS(tx_size_search_method);
   SHOW_PARAMS(disable_intra_edge_filter);
   SHOW_PARAMS(disable_tx_64x64);
   SHOW_PARAMS(disable_smooth_inter_intra);
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c
index 140ec38..37b2dac 100644
--- a/av1/av1_cx_iface.c
+++ b/av1/av1_cx_iface.c
@@ -103,7 +103,6 @@
   int enable_intra_edge_filter;  // enable intra-edge filter for sequence
   int enable_order_hint;         // enable order hint for sequence
   int enable_tx64;               // enable 64-pt transform usage for sequence
-  int tx_size_search_method;     // set transform block size search method
   int enable_flip_idtx;          // enable flip and identity transform types
   int enable_dist_wtd_comp;      // enable dist wtd compound for sequence
   int max_reference_frames;      // maximum number of references per frame
@@ -224,7 +223,6 @@
   1,                            // enable intra edge filter
   1,                            // frame order hint
   1,                            // enable 64-pt transform usage
-  0,                            // transform block size search method
   1,                            // enable flip and identity transform
   1,                            // dist-wtd compound
   7,                            // max_reference_frames
@@ -517,12 +515,6 @@
   RANGE_CHECK(extra_cfg, max_partition_size, 4, 128);
   RANGE_CHECK_HI(extra_cfg, min_partition_size, extra_cfg->max_partition_size);
 
-  RANGE_CHECK(extra_cfg, tx_size_search_method, 0, 2);
-
-  if (!extra_cfg->enable_tx64 && extra_cfg->tx_size_search_method == 2) {
-    ERROR("TX64 cannot be disabled when search_method is USE_LARGESTALL (2).");
-  }
-
   for (int i = 0; i < MAX_NUM_OPERATING_POINTS; ++i) {
     const int level_idx = extra_cfg->target_seq_level_idx[i];
     if (!is_valid_seq_level_idx(level_idx) && level_idx != SEQ_LEVELS) {
@@ -633,7 +625,6 @@
   extra_cfg->allow_ref_frame_mvs = (cfg->disable_ref_frame_mv == 0);
   extra_cfg->enable_ref_frame_mvs = (cfg->disable_ref_frame_mv == 0);
   extra_cfg->enable_onesided_comp = (cfg->disable_one_sided_comp == 0);
-  extra_cfg->tx_size_search_method = cfg->tx_size_search_method;
   extra_cfg->enable_reduced_reference_set = cfg->reduced_reference_set;
   extra_cfg->reduced_tx_type_set = cfg->reduced_tx_type_set;
 }
@@ -875,7 +866,6 @@
   oxcf->max_partition_size = extra_cfg->max_partition_size;
   oxcf->enable_intra_edge_filter = extra_cfg->enable_intra_edge_filter;
   oxcf->enable_tx64 = extra_cfg->enable_tx64;
-  oxcf->tx_size_search_method = extra_cfg->tx_size_search_method;
   oxcf->enable_flip_idtx = extra_cfg->enable_flip_idtx;
   oxcf->enable_order_hint = extra_cfg->enable_order_hint;
   oxcf->enable_dist_wtd_comp =
@@ -1338,13 +1328,6 @@
   return update_extra_cfg(ctx, &extra_cfg);
 }
 
-static aom_codec_err_t ctrl_set_tx_size_search_method(aom_codec_alg_priv_t *ctx,
-                                                      va_list args) {
-  struct av1_extracfg extra_cfg = ctx->extra_cfg;
-  extra_cfg.tx_size_search_method = CAST(AV1E_SET_TX_SIZE_SEARCH_METHOD, args);
-  return update_extra_cfg(ctx, &extra_cfg);
-}
-
 static aom_codec_err_t ctrl_set_enable_flip_idtx(aom_codec_alg_priv_t *ctx,
                                                  va_list args) {
   struct av1_extracfg extra_cfg = ctx->extra_cfg;
@@ -2450,7 +2433,6 @@
   { AV1E_SET_ENABLE_INTRA_EDGE_FILTER, ctrl_set_enable_intra_edge_filter },
   { AV1E_SET_ENABLE_ORDER_HINT, ctrl_set_enable_order_hint },
   { AV1E_SET_ENABLE_TX64, ctrl_set_enable_tx64 },
-  { AV1E_SET_TX_SIZE_SEARCH_METHOD, ctrl_set_tx_size_search_method },
   { AV1E_SET_ENABLE_FLIP_IDTX, ctrl_set_enable_flip_idtx },
   { AV1E_SET_ENABLE_DIST_WTD_COMP, ctrl_set_enable_dist_wtd_comp },
   { AV1E_SET_MAX_REFERENCE_FRAMES, ctrl_set_max_reference_frames },
@@ -2595,7 +2577,7 @@
         { 0 },        // tile_widths
         { 0 },        // tile_heights
         { 0, 128, 128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-          0, 0,   0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },  // cfg
+          0, 0,   0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },  // cfg
     } },
   { 1,
     {
@@ -2664,7 +2646,7 @@
         { 0 },        // tile_widths
         { 0 },        // tile_heights
         { 0, 128, 128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-          0, 0,   0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },  // cfg
+          0, 0,   0,   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },  // cfg
     } },
 };
 
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h
index c7356fa..dfaf33b 100644
--- a/av1/encoder/encoder.h
+++ b/av1/encoder/encoder.h
@@ -377,7 +377,6 @@
   int max_partition_size;
   int enable_intra_edge_filter;
   int enable_tx64;
-  int tx_size_search_method;
   int enable_flip_idtx;
   int enable_order_hint;
   int enable_dist_wtd_comp;
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 3babf45..71c2b0d 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -898,7 +898,7 @@
   sf->intra_cnn_split = 0;
 
   // Set this at the appropriate speed levels
-  sf->tx_size_search_level = cpi->oxcf.tx_size_search_method;
+  sf->tx_size_search_level = USE_FULL_RD;
   sf->tx_domain_dist_level = 0;
   sf->tx_domain_dist_thres_level = 0;
   sf->gm_search_type = GM_FULL_SEARCH;
@@ -1052,11 +1052,6 @@
          predict_skip_levels[cpi->sf.tx_type_search.use_skip_flag_prediction],
          sizeof(cpi->predict_skip_level));
 
-  // Override speed feature setting for user config
-  if (cpi->oxcf.tx_size_search_method != USE_FULL_RD) {
-    cpi->sf.enable_winner_mode_for_tx_size_srch = 0;
-    cpi->sf.tx_size_search_level = cpi->oxcf.tx_size_search_method;
-  }
   // assert ensures that tx_size_search_level is accessed correctly
   assert(cpi->sf.tx_size_search_level >= 0 && cpi->sf.tx_size_search_level < 3);
   memcpy(cpi->tx_size_search_methods,
diff --git a/common/args.c b/common/args.c
index ade5e85..ec2a863 100644
--- a/common/args.c
+++ b/common/args.c
@@ -110,7 +110,6 @@
     GET_PARAMS(disable_filter_intra);
     GET_PARAMS(disable_dual_filter);
     GET_PARAMS(disable_intra_angle_delta);
-    GET_PARAMS(tx_size_search_method);
     GET_PARAMS(disable_intra_edge_filter);
     GET_PARAMS(disable_tx_64x64);
     GET_PARAMS(disable_smooth_inter_intra);
