diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index 824e5e6a60311f54de939a665b7c18a921bee73d..057ef2e8fb4451fce176aeeab9c26e2f9b9be999 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -50,6 +50,8 @@
 #include <assert.h>
 #include <cassert>
 
+#define JVET_N0470_SMVD_FIX                               1 // remove mvd_l1_zero_flag condition, align to spec text.
+
 #define JVET_N0235_SMVD_SPS                               1
 
 #define JVET_N0843_BVP_SIMPLIFICATION                     1
diff --git a/source/Lib/DecoderLib/DecLib.cpp b/source/Lib/DecoderLib/DecLib.cpp
index e64ddde6d809900cb602a39f2e1437e6e40758e9..7bec8e65ebaa2ca0992475d23a0cbec2caf601bb 100644
--- a/source/Lib/DecoderLib/DecLib.cpp
+++ b/source/Lib/DecoderLib/DecLib.cpp
@@ -1211,7 +1211,11 @@ bool DecLib::xDecodeSlice(InputNALUnit &nalu, int &iSkipFrame, int iPOCLastDispl
     }
 
 #if JVET_N0235_SMVD_SPS
-    if (pcSlice->getSPS()->getUseSMVD() && pcSlice->getCheckLDC() == false && pcSlice->getMvdL1ZeroFlag() == false)
+    if (pcSlice->getSPS()->getUseSMVD() && pcSlice->getCheckLDC() == false
+#if !JVET_N0470_SMVD_FIX
+      && pcSlice->getMvdL1ZeroFlag() == false 
+#endif
+      )
 #else
     if ( pcSlice->getCheckLDC() == false && pcSlice->getMvdL1ZeroFlag() == false )
 #endif
diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp
index 8594866be9650774e7f8e1f25e7b3a0d747b6ded..1efcec3e0b4c7dcd302cae0984f95e74f8576321 100644
--- a/source/Lib/EncoderLib/EncGOP.cpp
+++ b/source/Lib/EncoderLib/EncGOP.cpp
@@ -1935,7 +1935,11 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic,
 #endif
 
 #if JVET_N0235_SMVD_SPS
-    if ( pcSlice->getSPS()->getUseSMVD() && pcSlice->getCheckLDC() == false && pcSlice->getMvdL1ZeroFlag() == false )
+    if ( pcSlice->getSPS()->getUseSMVD() && pcSlice->getCheckLDC() == false
+#if !JVET_N0470_SMVD_FIX
+      && pcSlice->getMvdL1ZeroFlag() == false 
+#endif
+      )
 #else
     if ( pcSlice->getCheckLDC() == false && pcSlice->getMvdL1ZeroFlag() == false )
 #endif