diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index 6f727eaa886537201a25bc352ee85061d469203b..824e5e6a60311f54de939a665b7c18a921bee73d 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -103,6 +103,8 @@
 #define JVET_N0178_IMPLICIT_BDOF_SPLIT                    1
 #define JVET_N0383_N0251_IBC_COL_VPDU_REMOVE              1
 
+#define JVET_N0407_DMVR_CU_SIZE_RESTRICTION               1 // Disable 4xN/8x8 CUs for DMVR
+
 #define JCTVC_Y0038_PARAMS                                1
 
 #define JVET_MMVD_OFF_MACRO                               0
diff --git a/source/Lib/CommonLib/UnitTools.cpp b/source/Lib/CommonLib/UnitTools.cpp
index a9c6aa301e432c236ad0674c8dffae87ed63f63c..61e48236adcfd483dc8f066a04a25dfe035b11d2 100644
--- a/source/Lib/CommonLib/UnitTools.cpp
+++ b/source/Lib/CommonLib/UnitTools.cpp
@@ -1926,7 +1926,12 @@ bool PU::checkDMVRCondition(const PredictionUnit& pu)
       && !pu.cu->mmvdSkip
       && PU::isBiPredFromDifferentDirEqDistPoc(pu)
       && (pu.lheight() >= 8)
+#if JVET_N0407_DMVR_CU_SIZE_RESTRICTION
+      && (pu.lwidth() >= 8)
+      && ((pu.lheight() * pu.lwidth()) >= 128)
+#else
       && ((pu.lheight() * pu.lwidth()) >= 64)
+#endif
       ;
   }
   else