diff --git a/source/Lib/EncoderLib/EncCu.cpp b/source/Lib/EncoderLib/EncCu.cpp
index 21436c906dc9c9ad88a48ec43d52f875e81ebb3f..007eda324d46c74a2c55d6c8b62557695b9b3a21 100644
--- a/source/Lib/EncoderLib/EncCu.cpp
+++ b/source/Lib/EncoderLib/EncCu.cpp
@@ -774,7 +774,11 @@ void EncCu::xCompressCU( CodingStructure *&tempCS, CodingStructure *&bestCS, Par
       const Position lumaRefPos(chromaCentral.x << getComponentScaleX(COMPONENT_Cb, tempCS->area.chromaFormat), chromaCentral.y << getComponentScaleY(COMPONENT_Cb, tempCS->area.chromaFormat));
       const CodingStructure* baseCS = bestCS->picture->cs;
       const CodingUnit* colLumaCu = baseCS->getCU(lumaRefPos, CHANNEL_TYPE_LUMA);
+#if JVET_M0102_INTRA_SUBPARTITIONS
+      const TransformUnit*  tu = colLumaCu ? baseCS->getTU(colLumaCu->ispMode ? colLumaCu->lumaPos() : lumaRefPos, CHANNEL_TYPE_LUMA) : nullptr;
+#else
       const TransformUnit*  tu = baseCS->getTU(lumaRefPos, CHANNEL_TYPE_LUMA);
+#endif
 
       if (colLumaCu && tu)
       {