diff --git a/source/Lib/CommonLib/UnitTools.cpp b/source/Lib/CommonLib/UnitTools.cpp
index 3c74b9e4399732a3edb2053626d1a42590bd3008..4f4725d4563392bac99fb3eebac9eda39c211051 100644
--- a/source/Lib/CommonLib/UnitTools.cpp
+++ b/source/Lib/CommonLib/UnitTools.cpp
@@ -991,10 +991,16 @@ bool PU::addMergeHMVPCand(const Slice &slice, MergeCtx& mrgCtx, bool isCandInter
       if (miNeighbor.interDir == 1 && slice.getRefPic(REF_PIC_LIST_0, miNeighbor.refIdx[0])->getPOC() == slice.getPOC())
       {
         mrgCtx.mrgTypeNeighbours[cnt] = MRG_TYPE_CPR;
+#if JVET_L0054_MMVD
         if(mmvdList != 0 && mrgCandIdx != -1)
           mrgCandIdxCPR++;
+#endif
       }
+#if JVET_L0054_MMVD
       if (mrgCandIdxCPR == cnt && canFastExit)
+#else
+      if (mrgCandIdx == cnt && canFastExit)
+#endif
 #else
       if (mrgCandIdx == cnt && canFastExit)
 #endif
diff --git a/source/Lib/DecoderLib/DecCu.cpp b/source/Lib/DecoderLib/DecCu.cpp
index 0a1542ba53f2f8af84fd4621f8bf1788b0661a86..dc510242ad3a866d0a9014d65976eec17e14e523 100644
--- a/source/Lib/DecoderLib/DecCu.cpp
+++ b/source/Lib/DecoderLib/DecCu.cpp
@@ -342,11 +342,16 @@ void DecCu::xReconInter(CodingUnit &cu)
 
   // inter prediction
 #if JVET_L0293_CPR
+#if JVET_L0100_MULTI_HYPOTHESIS_INTRA
   CHECK(cu.cpr && cu.firstPU->mhIntraFlag, "CPR and MHIntra cannot be used together");
+#endif
   CHECK(cu.cpr && cu.affine, "CPR and Affine cannot be used together");
+#if JVET_L0124_L0208_TRIANGLE
   CHECK(cu.cpr && cu.triangle, "CPR and triangle cannot be used together");
+#endif
+#if JVET_L0054_MMVD
   CHECK(cu.cpr && cu.firstPU->mmvdMergeFlag, "CPR and MMVD cannot be used together");
-
+#endif
   const bool luma = cu.Y().valid();
   const bool chroma = cu.Cb().valid();
   if (luma && chroma)