diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index e99e6069121419ff2e586d3164bb18a7303e41a6..7bb08727794f1a90f7ac5dd7636f1392c3be2ca2 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -155,6 +155,7 @@
 #define JVET_X0148_TIMD_PDPC                              1 // JVET-X0148: PDPC handling for TIMD
 #define JVET_AG0092_ENHANCED_TIMD_FUSION                  1 // JVET-AG0092: TIMD fusion with non-angular predictor
 #define JVET_AG0128_REF_LINE_OPT_TIMD_FUSION              1 // JVET-AG0128: TIMD fusion reference line determination
+#define JVET_AJ0079_DISABLE_TIMD_COMBINATION              1 // JVET-AJ0079(2.7b): Disabling timd-isp and timd-mrl combinations in a non-normative way.
 #define JVET_AJ0061_TIMD_MERGE                            1 // TIMD merge mode 
 #define JVET_AJ0146_TIMDSAD                               1 // JVET-AJ0146: Additional TIMD mode with a different cost metric  
 
diff --git a/source/Lib/EncoderLib/IntraSearch.cpp b/source/Lib/EncoderLib/IntraSearch.cpp
index 8969fd17d84950f6cfe2ec97cadc9cc3a0c3df15..140735d9ba9fc9cbb5c2f486f12952584f87a4d4 100644
--- a/source/Lib/EncoderLib/IntraSearch.cpp
+++ b/source/Lib/EncoderLib/IntraSearch.cpp
@@ -4047,6 +4047,7 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c
 #endif
       uiRdModeList.push_back( ModeInfo( false, false, 0, NOT_INTRA_SUBPARTITIONS, TIMD_IDX ) );
       numNonISPModes++;
+#if !JVET_AJ0079_DISABLE_TIMD_COMBINATION
       if (lfnstIdx == 0 && !cu.mtsFlag)
       {
 #if JVET_AH0065_RELAX_LINE_BUFFER
@@ -4102,6 +4103,7 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c
 #endif
         }
       }
+#endif
     }
 #endif
 
@@ -4120,6 +4122,7 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c
       }
     }
 #if JVET_W0123_TIMD_FUSION
+#if !JVET_AJ0079_DISABLE_TIMD_COMBINATION
 #if JVET_AJ0061_TIMD_MERGE
     if (isTimdValid && !m_skipTimdMode[Timd] && sps.getUseISP() && CU::canUseISP(width, height, cu.cs->sps->getMaxTbSize()) && lfnstIdx == 0 && !cu.mtsFlag)
 #else
@@ -4129,6 +4132,7 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c
       uiRdModeList.push_back( ModeInfo( false, false, 0, HOR_INTRA_SUBPARTITIONS, TIMD_IDX ) );
       uiRdModeList.push_back( ModeInfo( false, false, 0, VER_INTRA_SUBPARTITIONS, TIMD_IDX ) );
     }
+#endif
 #endif
     //===== check modes (using r-d costs) =====
     ModeInfo       uiBestPUMode;
@@ -15626,7 +15630,7 @@ void IntraSearch::xGetNextISPMode(ModeInfo& modeInfo, const ModeInfo* lastMode,
 #if ENABLE_DIMD && !JVET_V0087_DIMD_NO_ISP
       candidate.modeId != DIMD_IDX &&
 #endif
-#if JVET_W0123_TIMD_FUSION
+#if JVET_W0123_TIMD_FUSION && !JVET_AJ0079_DISABLE_TIMD_COMBINATION
       candidate.modeId != TIMD_IDX &&
 #endif
 #if JVET_AC0105_DIRECTIONAL_PLANAR
@@ -15870,7 +15874,7 @@ bool IntraSearch::xSortISPCandList(double bestCostSoFar, double bestNonISPCost,
 #if ENABLE_DIMD && !JVET_V0087_DIMD_NO_ISP
       origHadList.at(k).modeId == DIMD_IDX ||
 #endif
-#if JVET_W0123_TIMD_FUSION
+#if JVET_W0123_TIMD_FUSION && !JVET_AJ0079_DISABLE_TIMD_COMBINATION
       origHadList.at(k).modeId == TIMD_IDX ||
 #endif
 #if JVET_AC0105_DIRECTIONAL_PLANAR
@@ -15927,7 +15931,7 @@ void IntraSearch::xSortISPCandListLFNST()
           continue;
         }
 #endif
-#if JVET_W0123_TIMD_FUSION
+#if JVET_W0123_TIMD_FUSION && !JVET_AJ0079_DISABLE_TIMD_COMBINATION
         if( candList[i].modeId == TIMD_IDX )
         {
           continue;