diff --git a/av1/encoder/block.h b/av1/encoder/block.h
index 1c093d9..4d579bc 100644
--- a/av1/encoder/block.h
+++ b/av1/encoder/block.h
@@ -187,6 +187,9 @@
   COMPOUND_TYPE comp_type;
 } INTERPOLATION_FILTER_STATS;
 
+#if CONFIG_COLLECT_INTER_MODE_RD_STATS
+struct inter_modes_info;
+#endif
 typedef struct macroblock MACROBLOCK;
 struct macroblock {
   struct macroblock_plane plane[MAX_MB_PLANE];
@@ -277,6 +280,10 @@
 
   FRAME_CONTEXT *backup_tile_ctx;
 
+#if CONFIG_COLLECT_INTER_MODE_RD_STATS
+  struct inter_modes_info *inter_modes_info;
+#endif
+
   // buffer for hash value calculation of a block
   // used only in av1_get_block_hash_value()
   // [first hash/second hash]
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index ab9d0bc..12e8f8b 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -501,6 +501,11 @@
   aom_free(cpi->td.mb.wsrc_buf);
   cpi->td.mb.wsrc_buf = NULL;
 
+#if CONFIG_COLLECT_INTER_MODE_RD_STATS
+  aom_free(cpi->td.mb.inter_modes_info);
+  cpi->td.mb.inter_modes_info = NULL;
+#endif
+
   for (int i = 0; i < 2; i++)
     for (int j = 0; j < 2; j++) {
       aom_free(cpi->td.mb.hash_value_buffer[i][j]);
@@ -2644,6 +2649,12 @@
                   (int32_t *)aom_memalign(
                       16, MAX_SB_SQUARE * sizeof(*cpi->td.mb.wsrc_buf)));
 
+#if CONFIG_COLLECT_INTER_MODE_RD_STATS
+  CHECK_MEM_ERROR(
+      cm, cpi->td.mb.inter_modes_info,
+      (InterModesInfo *)aom_malloc(sizeof(*cpi->td.mb.inter_modes_info)));
+#endif
+
   for (int x = 0; x < 2; x++)
     for (int y = 0; y < 2; y++)
       CHECK_MEM_ERROR(
@@ -2985,6 +2996,9 @@
       aom_free(thread_data->td->above_pred_buf);
       aom_free(thread_data->td->left_pred_buf);
       aom_free(thread_data->td->wsrc_buf);
+#if CONFIG_COLLECT_INTER_MODE_RD_STATS
+      aom_free(thread_data->td->inter_modes_info);
+#endif
       for (int x = 0; x < 2; x++) {
         for (int y = 0; y < 2; y++) {
           aom_free(thread_data->td->hash_value_buffer[x][y]);
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h
index 2983ec3..7a78ba7 100644
--- a/av1/encoder/encoder.h
+++ b/av1/encoder/encoder.h
@@ -457,7 +457,6 @@
   uint8_t allow_update_cdf;
 #if CONFIG_COLLECT_INTER_MODE_RD_STATS
   InterModeRdModel inter_mode_rd_models[BLOCK_SIZES_ALL];
-  InterModesInfo inter_modes_info;
 #endif
 } TileDataEnc;
 
@@ -481,6 +480,9 @@
   FRAME_COUNTS *counts;
   PC_TREE *pc_tree;
   PC_TREE *pc_root[MAX_MIB_SIZE_LOG2 - MIN_MIB_SIZE_LOG2 + 1];
+#if CONFIG_COLLECT_INTER_MODE_RD_STATS
+  InterModesInfo *inter_modes_info;
+#endif
   uint32_t *hash_value_buffer[2][2];
   int32_t *wsrc_buf;
   int32_t *mask_buf;
diff --git a/av1/encoder/ethread.c b/av1/encoder/ethread.c
index 213bfe7..7c0e9cc 100644
--- a/av1/encoder/ethread.c
+++ b/av1/encoder/ethread.c
@@ -97,6 +97,12 @@
           (int32_t *)aom_memalign(
               16, MAX_SB_SQUARE * sizeof(*thread_data->td->wsrc_buf)));
 
+#if CONFIG_COLLECT_INTER_MODE_RD_STATS
+      CHECK_MEM_ERROR(cm, thread_data->td->inter_modes_info,
+                      (InterModesInfo *)aom_malloc(
+                          sizeof(*thread_data->td->inter_modes_info)));
+#endif
+
       for (int x = 0; x < 2; x++)
         for (int y = 0; y < 2; y++)
           CHECK_MEM_ERROR(
@@ -199,6 +205,9 @@
       thread_data->td->mb.above_pred_buf = thread_data->td->above_pred_buf;
       thread_data->td->mb.left_pred_buf = thread_data->td->left_pred_buf;
       thread_data->td->mb.wsrc_buf = thread_data->td->wsrc_buf;
+#if CONFIG_COLLECT_INTER_MODE_RD_STATS
+      thread_data->td->mb.inter_modes_info = thread_data->td->inter_modes_info;
+#endif
       for (int x = 0; x < 2; x++) {
         for (int y = 0; y < 2; y++) {
           memcpy(thread_data->td->hash_value_buffer[x][y],
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index d5fa163..a53169b 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -11521,7 +11521,7 @@
 #else
   const int do_tx_search = 1;
 #endif
-  InterModesInfo *inter_modes_info = &tile_data->inter_modes_info;
+  InterModesInfo *inter_modes_info = x->inter_modes_info;
   inter_modes_info->num = 0;
 #endif
 
