diff --git a/av1/common/entropy.c b/av1/common/entropy.c
index 69966a7..1978424 100644
--- a/av1/common/entropy.c
+++ b/av1/common/entropy.c
@@ -5703,9 +5703,10 @@
   AVERAGE_TILE_CDFS(drl_cdf)
 #endif
 
-// FIXME: cdfs not defined for motion_mode_prob, obmc_prob
+// FIXME: cdfs not defined for motion_mode_prob
 
 // FIXME: cdfs not defined for super_tx
+
 #if CONFIG_EXT_INTER
   AVERAGE_TILE_CDFS(inter_compound_mode_cdf)
 
@@ -5731,6 +5732,9 @@
   }
 #if CONFIG_NEW_MULTISYMBOL
   AVERAGE_TILE_CDFS(intra_inter_cdf)
+#if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
+  AVERAGE_TILE_CDFS(obmc_cdf)
+#endif
 #endif
 }
 
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c
index 2a39922..6d6bc88 100644
--- a/av1/common/entropymode.c
+++ b/av1/common/entropymode.c
@@ -1390,6 +1390,34 @@
   252, 252, 252,
 #endif  // CONFIG_EXT_PARTITION
 };
+
+#if CONFIG_NEW_MULTISYMBOL
+static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES][CDF_SIZE(2)] = {
+#if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8
+  { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
+#endif
+  { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(255 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(151 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(153 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(144 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(178 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(165 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(160 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(207 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(195 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(168 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(244 * 128), AOM_ICDF(32768), 0 },
+#if CONFIG_EXT_PARTITION
+  { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
+  { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 },
+#endif  // CONFIG_EXT_PARTITION
+};
+#endif  // CONFIG_NEW_MULTISYMBOL
 #endif
 
 #if CONFIG_DELTA_Q
@@ -4905,6 +4933,9 @@
 #endif
 #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
   av1_copy(fc->obmc_prob, default_obmc_prob);
+#if CONFIG_NEW_MULTISYMBOL
+  av1_copy(fc->obmc_cdf, default_obmc_cdf);
+#endif
 #endif  // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
 #endif  // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
 #if CONFIG_EXT_INTER
diff --git a/av1/common/entropymode.h b/av1/common/entropymode.h
index c8a1a3c..eb509bf 100644
--- a/av1/common/entropymode.h
+++ b/av1/common/entropymode.h
@@ -230,6 +230,9 @@
 
 #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
   aom_prob obmc_prob[BLOCK_SIZES];
+#if CONFIG_NEW_MULTISYMBOL
+  aom_cdf_prob obmc_cdf[BLOCK_SIZES][CDF_SIZE(2)];
+#endif  // CONFIG_NEW_MULTISYMBOL
 #endif  // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
 #endif  // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
   aom_prob intra_inter_prob[INTRA_INTER_CONTEXTS];
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 5f3e83d..79dd298 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -342,7 +342,12 @@
   if (last_motion_mode_allowed == SIMPLE_TRANSLATION) return SIMPLE_TRANSLATION;
 #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
   if (last_motion_mode_allowed == OBMC_CAUSAL) {
+#if CONFIG_NEW_MULTISYMBOL
+    motion_mode =
+        aom_read_symbol(r, xd->tile_ctx->obmc_cdf[mbmi->sb_type], 2, ACCT_STR);
+#else
     motion_mode = aom_read(r, cm->fc->obmc_prob[mbmi->sb_type], ACCT_STR);
+#endif
     if (counts) ++counts->obmc[mbmi->sb_type][motion_mode];
     return (MOTION_MODE)(SIMPLE_TRANSLATION + motion_mode);
   } else {
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 0fca4ca..cf209f3 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -609,9 +609,13 @@
 }
 
 #if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION
-static void write_motion_mode(const AV1_COMMON *cm, const MODE_INFO *mi,
-                              aom_writer *w) {
+static void write_motion_mode(const AV1_COMMON *cm, MACROBLOCKD *xd,
+                              const MODE_INFO *mi, aom_writer *w) {
   const MB_MODE_INFO *mbmi = &mi->mbmi;
+#if !CONFIG_NEW_MULTISYMBOL
+  (void)xd;
+#endif
+
 #if CONFIG_NCOBMC_ADAPT_WEIGHT
   MOTION_MODE last_motion_mode_allowed =
       motion_mode_allowed_wrapper(0,
@@ -629,8 +633,13 @@
   if (last_motion_mode_allowed == SIMPLE_TRANSLATION) return;
 #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
   if (last_motion_mode_allowed == OBMC_CAUSAL) {
+#if CONFIG_NEW_MULTISYMBOL
+    aom_write_symbol(w, mbmi->motion_mode == OBMC_CAUSAL,
+                     xd->tile_ctx->obmc_cdf[mbmi->sb_type], 2);
+#else
     aom_write(w, mbmi->motion_mode == OBMC_CAUSAL,
               cm->fc->obmc_prob[mbmi->sb_type]);
+#endif
   } else {
 #endif  // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION
     av1_write_token(w, av1_motion_mode_tree,
@@ -2281,7 +2290,7 @@
 #if CONFIG_EXT_INTER
       if (mbmi->ref_frame[1] != INTRA_FRAME)
 #endif  // CONFIG_EXT_INTER
-        write_motion_mode(cm, mi, w);
+        write_motion_mode(cm, xd, mi, w);
 #if CONFIG_NCOBMC_ADAPT_WEIGHT
     write_ncobmc_mode(cm, mi, w);
 #endif
