diff --git a/source/Lib/CommonLib/CommonDef.h b/source/Lib/CommonLib/CommonDef.h
index ecef0a259a4e0f4e53b08077cd58fa5b5e891b91..4c8c0428b69319f4a98ffc8f8b7e90556292e411 100644
--- a/source/Lib/CommonLib/CommonDef.h
+++ b/source/Lib/CommonLib/CommonDef.h
@@ -325,7 +325,11 @@ static const int NUM_LMC_MODE =                                    1 + 2; ///< L
 #endif
 static const int NUM_INTRA_MODE = (NUM_LUMA_MODE + NUM_LMC_MODE);
 
+#if TU_256
+static const int NUM_EXT_LUMA_MODE =                               30;
+#else
 static const int NUM_EXT_LUMA_MODE =                               28;
+#endif
 
 static const int NUM_DIR =           (((NUM_LUMA_MODE - 3) >> 2) + 1);
 static const int PLANAR_IDX =                                       0; ///< index for intra PLANAR mode
@@ -368,6 +372,7 @@ static const int MDLM_T_IDX =                          LM_CHROMA_IDX + 2; ///< M
 static const int DM_CHROMA_IDX =                       NUM_INTRA_MODE; ///< chroma mode index for derived from luma intra mode
 
 #if JVET_W0119_LFNST_EXTENSION
+static const int NUM_LFNST_INTRA_MODES   = NUM_LUMA_MODE + NUM_EXT_LUMA_MODE;
 static const uint32_t  L16W_ZO           = 96;
 static const uint32_t  L16W              = 96;
 static const uint32_t  L16H              = 32;
diff --git a/source/Lib/CommonLib/Rom.h b/source/Lib/CommonLib/Rom.h
index a080b084e878192bba5785a732b893e87c69fbcf..83909d55b94075136ab16eb514da42a09e32868d 100644
--- a/source/Lib/CommonLib/Rom.h
+++ b/source/Lib/CommonLib/Rom.h
@@ -205,7 +205,7 @@ extern const     int8_t   g_lfnst4x4[ 4 ][ 2 ][ 16 ][ 16 ];
 #endif
 
 #if EXTENDED_LFNST || JVET_W0119_LFNST_EXTENSION
-extern const     uint8_t  g_lfnstLut[ 95 ];
+extern const     uint8_t  g_lfnstLut[NUM_LFNST_INTRA_MODES];
 #else
 extern const     uint8_t  g_lfnstLut[ NUM_INTRA_MODE + NUM_EXT_LUMA_MODE - 1 ];
 #endif
diff --git a/source/Lib/CommonLib/RomLFNST.cpp b/source/Lib/CommonLib/RomLFNST.cpp
index b60b0e4bde2b3ad77e4959429a0bb01d2055da01..bb60c415089e15ec2092a55041127d1abd2f16ec 100644
--- a/source/Lib/CommonLib/RomLFNST.cpp
+++ b/source/Lib/CommonLib/RomLFNST.cpp
@@ -49,9 +49,9 @@
 // ====================================================================================================================
 
 #if EXTENDED_LFNST || JVET_W0119_LFNST_EXTENSION
-const uint8_t g_lfnstLut[95] =
-{  // 0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94
-      0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10,  9,  8,  7,  6,  5,  4,  3,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2 
+const uint8_t g_lfnstLut[NUM_LFNST_INTRA_MODES] =
+{  // 0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96
+    +0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
 };
 #else
 const uint8_t g_lfnstLut[ NUM_INTRA_MODE + NUM_EXT_LUMA_MODE - 1 ] =
diff --git a/source/Lib/CommonLib/TrQuant.cpp b/source/Lib/CommonLib/TrQuant.cpp
index 349675100875fb5dcec63025a90defee1453f6cf..cea2d569b0a5c2315477736ef9e5a9d82749399c 100644
--- a/source/Lib/CommonLib/TrQuant.cpp
+++ b/source/Lib/CommonLib/TrQuant.cpp
@@ -429,6 +429,10 @@ uint32_t TrQuant::getLFNSTIntraMode( int wideAngPredMode )
     intraMode = ( uint32_t ) wideAngPredMode;
   }
 
+#if JVET_W0119_LFNST_EXTENSION
+  CHECK( intraMode >= NUM_LFNST_INTRA_MODES, "Wrong intra mode for LFNST" );
+#endif
+
   return intraMode;
 }
 
@@ -1117,7 +1121,7 @@ void TrQuant::getTrTypes(const TransformUnit tu, const ComponentID compID, int &
       {
         ucMode = predMode; //"ucMode" is the signaled Mode.
         predMode = PU::getWideAngle(tu, (uint32_t)predMode, compID);
-        CHECK(predMode < -(NUM_EXT_LUMA_MODE >> 1) && predMode >= NUM_LUMA_MODE + (NUM_EXT_LUMA_MODE >> 1), "luma mode out of range");
+        CHECK(predMode < -(NUM_EXT_LUMA_MODE >> 1) || predMode >= NUM_LUMA_MODE + (NUM_EXT_LUMA_MODE >> 1), "luma mode out of range");
         predMode = (predMode < 0) ? 2 : (predMode >= NUM_LUMA_MODE) ? 66 : predMode;
         nMdIdx = predMode > DIA_IDX ? (NUM_LUMA_MODE + 1 - predMode) : predMode;
         isTrTransposed = (predMode > DIA_IDX) ? true : false;