diff --git a/cfg/encoder_intra_vtm.cfg b/cfg/encoder_intra_vtm.cfg
index 507b14f2b93fc7586efb9195b8fedcbebc74befb..ddc4dedad848dad11a83c285a8722612bbfe97b5 100644
--- a/cfg/encoder_intra_vtm.cfg
+++ b/cfg/encoder_intra_vtm.cfg
@@ -75,8 +75,8 @@ CUTransquantBypassFlagForce: 0                         # Force transquant bypass
 #============ VTM settings ======================
 LoopFilterTcOffset_div2             : 0
 SEIDecodedPictureHash               : 0
-CbQpOffset                          : 0
-CrQpOffset                          : 0
+CbQpOffset                          : 1
+CrQpOffset                          : 1
 TemporalSubsampleRatio              : 8
 
 ReWriteParamSets                    : 1
diff --git a/cfg/encoder_lowdelay_P_vtm.cfg b/cfg/encoder_lowdelay_P_vtm.cfg
index d3f1d549bd5e5d261495e84f479ccb059e0d63cf..9b3089579746d5ef9d60de6861d0896e9a4125c0 100644
--- a/cfg/encoder_lowdelay_P_vtm.cfg
+++ b/cfg/encoder_lowdelay_P_vtm.cfg
@@ -92,8 +92,8 @@ RCForceIntraQP                      : 0                # Rate control: force int
 #============ VTM settings ======================
 LoopFilterTcOffset_div2             : 0
 SEIDecodedPictureHash               : 0
-CbQpOffset                          : 0
-CrQpOffset                          : 0
+CbQpOffset                          : 1
+CrQpOffset                          : 1
 
 ReWriteParamSets                    : 1
 #============ NEXT ====================
diff --git a/cfg/encoder_lowdelay_vtm.cfg b/cfg/encoder_lowdelay_vtm.cfg
index 28753a291ac121462f75bbfde7e62c0185e1264a..148f03230bde4390f01110b46104acdc695b9252 100644
--- a/cfg/encoder_lowdelay_vtm.cfg
+++ b/cfg/encoder_lowdelay_vtm.cfg
@@ -92,8 +92,8 @@ RCForceIntraQP                      : 0                # Rate control: force int
 #============ VTM settings ======================
 LoopFilterTcOffset_div2             : 0
 SEIDecodedPictureHash               : 0
-CbQpOffset                          : 0
-CrQpOffset                          : 0
+CbQpOffset                          : 1
+CrQpOffset                          : 1
 
 ReWriteParamSets                    : 1
 #============ NEXT ====================
diff --git a/cfg/encoder_randomaccess_vtm.cfg b/cfg/encoder_randomaccess_vtm.cfg
index 1750b4b43face7a41b27a5c12e5aae623ce7a63c..2e4c7a0332fbd01f2bda17df62aded26c0a047bd 100644
--- a/cfg/encoder_randomaccess_vtm.cfg
+++ b/cfg/encoder_randomaccess_vtm.cfg
@@ -106,8 +106,8 @@ RCForceIntraQP                      : 0                # Rate control: force int
 #============ VTM settings ======================
 LoopFilterTcOffset_div2             : 0
 SEIDecodedPictureHash               : 0
-CbQpOffset                          : 0
-CrQpOffset                          : 0
+CbQpOffset                          : 1
+CrQpOffset                          : 1
 
 ReWriteParamSets                    : 1
 #============ NEXT ====================
diff --git a/source/Lib/CommonLib/LoopFilter.cpp b/source/Lib/CommonLib/LoopFilter.cpp
index 55016eefe21ef9995cf5bee58be29917a016fc14..f263900d82dcc02408bf23f80d7a623477bc3c3e 100644
--- a/source/Lib/CommonLib/LoopFilter.cpp
+++ b/source/Lib/CommonLib/LoopFilter.cpp
@@ -1274,8 +1274,8 @@ void LoopFilter::xEdgeFilterChroma(const CodingUnit& cu, const DeblockEdgeDir ed
         Pel* piTmpSrcChroma = (chromaIdx == 0) ? piTmpSrcCb : piTmpSrcCr;
 
 #if JVET_O0650_SIGNAL_CHROMAQP_MAPPING_TABLE
-        int iQP = Clip3(0, MAX_QP, ((cuP.qp + cuQ.qp + 1) >> 1) + chromaQPOffset);
-        iQP = sps.getMappedChromaQpValue(ComponentID(chromaIdx + 1), iQP);
+        int iQP = sps.getMappedChromaQpValue(ComponentID(chromaIdx + 1), ((cuP.qp + cuQ.qp + 1) >> 1));
+        int iQP = Clip3(0, MAX_QP, iQP + chromaQPOffset);
 #else
         int iQP = ( ( cuP.qp + cuQ.qp + 1 ) >> 1 ) + chromaQPOffset;
         if (iQP >= chromaQPMappingTableSize)