diff --git a/av1/common/entropymv.c b/av1/common/entropymv.c
index 91d8d94..5ede3b4 100644
--- a/av1/common/entropymv.c
+++ b/av1/common/entropymv.c
@@ -44,22 +44,24 @@
 static const nmv_context default_nmv_context = {
   { 32, 64, 96 },  // joints
 #if CONFIG_EC_MULTISYMBOL
-  { 0, 0, 0, 0 },  // joint_cdf is computed from joints in av1_init_mv_probs()
+  { 4096, 11264, 19328, 32768, 0 },  // joint_cdf
 #endif
   { {
         // Vertical component
         128,                                                   // sign
         { 224, 144, 192, 168, 192, 176, 192, 198, 198, 245 },  // class
 #if CONFIG_EC_MULTISYMBOL
-        { 0 },  // class_cdf is computed from class in av1_init_mv_probs()
+        { 28672, 30976, 31858, 32320, 32551, 32656, 32740, 32757, 32762, 32767,
+          32768, 0 },  // class_cdf
 #endif
         { 216 },                                               // class0
         { 136, 140, 148, 160, 176, 192, 224, 234, 234, 240 },  // bits
         { { 128, 128, 64 }, { 96, 112, 64 } },                 // class0_fp
         { 64, 96, 64 },                                        // fp
 #if CONFIG_EC_MULTISYMBOL
-        { { 0 }, { 0 } },  // class0_fp_cdf is computed in av1_init_mv_probs()
-        { 0 },             // fp_cdf is computed from fp in av1_init_mv_probs()
+        { { 16384, 24576, 26624, 32768, 0 },
+          { 12288, 21248, 24128, 32768, 0 } },  // class0_fp_cdf
+        { 8192, 17408, 21248, 32768, 0 },       // fp_cdf
 #endif
         160,  // class0_hp bit
         128,  // hp
@@ -69,15 +71,17 @@
         128,                                                   // sign
         { 216, 128, 176, 160, 176, 176, 192, 198, 198, 208 },  // class
 #if CONFIG_EC_MULTISYMBOL
-        { 0 },  // class_cdf is computed from class in av1_init_mv_probs()
+        { 28672, 30976, 31858, 32320, 32551, 32656, 32740, 32757, 32762, 32767,
+          32768, 0 },  // class_cdf
 #endif
         { 208 },                                               // class0
         { 136, 140, 148, 160, 176, 192, 224, 234, 234, 240 },  // bits
         { { 128, 128, 64 }, { 96, 112, 64 } },                 // class0_fp
         { 64, 96, 64 },                                        // fp
 #if CONFIG_EC_MULTISYMBOL
-        { { 0 }, { 0 } },  // class0_fp_cdf is computed in av1_init_mv_probs()
-        { 0 },             // fp_cdf is computed from fp in av1_init_mv_probs()
+        { { 16384, 24576, 26624, 32768, 0 },
+          { 12288, 21248, 24128, 32768, 0 } },  // class0_fp_cdf
+        { 8192, 17408, 21248, 32768, 0 },       // fp_cdf
 #endif
         160,  // class0_hp bit
         128,  // hp
@@ -315,12 +319,12 @@
 void av1_init_mv_probs(AV1_COMMON *cm) {
 #if CONFIG_REF_MV
   int i;
-  for (i = 0; i < NMV_CONTEXTS; ++i) cm->fc->nmvc[i] = default_nmv_context;
+  for (i = 0; i < NMV_CONTEXTS; ++i) {
+    // NB: this sets CDFs too
+    cm->fc->nmvc[i] = default_nmv_context;
+  }
 #else
   cm->fc->nmvc = default_nmv_context;
-#if CONFIG_EC_MULTISYMBOL
-  av1_set_mv_cdfs(&cm->fc->nmvc);
-#endif
 #endif
 #if CONFIG_GLOBAL_MOTION
   av1_copy(cm->fc->global_motion_types_prob, default_global_motion_types_prob);
