diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp
index 60eea179df1fd838b6ff70e242380035a5cd9a41..efbd2ea49ba53e83f5ee96463099e788e058b368 100644
--- a/source/Lib/EncoderLib/EncLib.cpp
+++ b/source/Lib/EncoderLib/EncLib.cpp
@@ -1339,8 +1339,22 @@ void EncLib::xInitSPS( SPS& sps )
 
   sps.setScalingListFlag ( (m_useScalingListId == SCALING_LIST_OFF) ? 0 : 1 );
 #if JVET_R0380_SCALING_MATRIX_DISABLE_YCC_OR_RGB
-  sps.setScalingMatrixForAlternativeColourSpaceDisabledFlag( m_disableScalingMatrixForAlternativeColourSpace );
-  sps.setScalingMatrixDesignatedColourSpaceFlag( m_scalingMatrixDesignatedColourSpace );
+  if (sps.getUseColorTrans() && sps.getScalingListFlag())
+  {
+    sps.setScalingMatrixForAlternativeColourSpaceDisabledFlag( m_disableScalingMatrixForAlternativeColourSpace );
+  }
+  else
+  {
+    sps.setScalingMatrixForAlternativeColourSpaceDisabledFlag( false );
+  }
+  if (sps.getScalingMatrixForAlternativeColourSpaceDisabledFlag())
+  {
+    sps.setScalingMatrixDesignatedColourSpaceFlag( m_scalingMatrixDesignatedColourSpace );
+  }
+  else
+  {
+    sps.setScalingMatrixDesignatedColourSpaceFlag( true );
+  }
 #endif
   sps.setALFEnabledFlag( m_alf );
   sps.setCCALFEnabledFlag( m_ccalf );