diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 97f658f..130aa9f 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -338,6 +338,9 @@
 static BLOCK_SIZE select_sb_size(const AV1_COMP *const cpi) {
   const AV1_COMMON *const cm = &cpi->common;
 
+  // TODO(kyslov): Fix 64x64 SB size for RealTime
+  if (cpi->oxcf.mode == REALTIME) return BLOCK_128X128;
+
   if (cpi->oxcf.superblock_size == AOM_SUPERBLOCK_SIZE_64X64)
     return BLOCK_64X64;
 #if CONFIG_FILEOPTIONS
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 78d2dd1..ebe733e 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -3649,7 +3649,18 @@
   MACROBLOCKD *const xd = &x->e_mbd;
   MB_MODE_INFO *const mbmi = xd->mi[0];
   const int is_inter = is_inter_block(mbmi);
-  mbmi->tx_size = tx_size_from_tx_mode(bs, cm->tx_mode);
+  TX_SIZE tx_size = tx_size_from_tx_mode(bs, cm->tx_mode);
+
+  // Setting largest TX size for 64x64 blocks will select 64x64 TX.
+  // If 64x64 TX is disabled via oxcf and if pre-selected partitioning
+  // (Variance Based or Fixed) is used this will lead to inability
+  // to select transform and to get RD cost for the block
+  if (txsize_sqr_up_map[tx_size] == TX_64X64 && !cpi->oxcf.enable_tx64 &&
+      (cpi->sf.partition_search_type == VAR_BASED_PARTITION ||
+       cpi->sf.partition_search_type == FIXED_PARTITION)) {
+    tx_size = sub_tx_size_map[tx_size];
+  }
+  mbmi->tx_size = tx_size;
   const TxSetType tx_set_type =
       av1_get_ext_tx_set_type(mbmi->tx_size, is_inter, cm->reduced_tx_set_used);
   prune_tx(cpi, bs, x, xd, tx_set_type);
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 8f6552b..08cb9e6 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -614,6 +614,9 @@
     sf->default_max_partition_size = BLOCK_128X128;
     sf->default_min_partition_size = BLOCK_8X8;
     sf->partition_search_type = VAR_BASED_PARTITION;
+    // Can't use LARGEST TX mode with pre-calculated partition
+    // and disabled TX64
+    if (!cpi->oxcf.enable_tx64) sf->tx_size_search_method = USE_FAST_RD;
     sf->use_nonrd_pick_mode = 1;
     sf->inter_mode_rd_model_estimation = 2;
   }
diff --git a/test/rt_end_to_end_test.cc b/test/rt_end_to_end_test.cc
index 3b47c8b..77a7827 100644
--- a/test/rt_end_to_end_test.cc
+++ b/test/rt_end_to_end_test.cc
@@ -26,7 +26,7 @@
 
 // List of psnr thresholds for speed settings 0-8
 const double kPsnrThreshold[9] = { 36.9, 36.9, 36.85, 36.8, 36.6,
-                                   36.4, 36.0, 35.5,  34.4 };
+                                   36.4, 36.0, 35.5,  30.4 };
 
 typedef struct {
   const char *filename;
