diff --git a/source/Lib/CommonLib/Slice.cpp b/source/Lib/CommonLib/Slice.cpp
index df9dc313d5d760c714d550a0c5fd180bc1c9cc1e..08ae79cbe793a9ead060b4b661a889d49da4a7a0 100644
--- a/source/Lib/CommonLib/Slice.cpp
+++ b/source/Lib/CommonLib/Slice.cpp
@@ -1984,9 +1984,9 @@ void ScalingList::setDefaultScalingList()
   }
 }
 /** check if use default quantization matrix
- * \returns true if use default quantization matrix in all size
+ * \returns true if the scaling list is not equal to the default quantization matrix
 */
-bool ScalingList::checkDefaultScalingList()
+bool ScalingList::isNotDefaultScalingList()
 {
   bool isAllDefault = true;
   for ( uint32_t sizeId = SCALING_LIST_2x2; sizeId <= SCALING_LIST_64x64; sizeId++)
@@ -2005,6 +2005,7 @@ bool ScalingList::checkDefaultScalingList()
         break;
       }
     }
+    if (!isAllDefault) break;
   }
 
   return !isAllDefault;
diff --git a/source/Lib/CommonLib/Slice.h b/source/Lib/CommonLib/Slice.h
index 22ac7ed2d7745099d354ffeb455737b72edc6ff5..17223c862830fed9320c859aa138064ac4e265b0 100644
--- a/source/Lib/CommonLib/Slice.h
+++ b/source/Lib/CommonLib/Slice.h
@@ -170,7 +170,7 @@ public:
   void       processRefMatrix(uint32_t sizeId, uint32_t listId , uint32_t refListId );
   bool       xParseScalingList(const std::string &fileName);
   void       setDefaultScalingList();
-  bool       checkDefaultScalingList();
+  bool       isNotDefaultScalingList();
 
 private:
   void       outputScalingLists(std::ostream &os) const;
diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp
index de684c90252349f3131407a18847b50cbcc47cb2..a76714a906200823b9f0eec0c98e2a07993096f3 100644
--- a/source/Lib/EncoderLib/EncLib.cpp
+++ b/source/Lib/EncoderLib/EncLib.cpp
@@ -565,7 +565,7 @@ void EncLib::xInitScalingLists(SPS &sps, PPS &pps)
     aps.getScalingList().setDefaultScalingList();
     CHECK( aps.getScalingList().xParseScalingList( getScalingListFileName() ), "Error Parsing Scaling List Input File" );
     aps.getScalingList().checkDcOfMatrix();
-    if( aps.getScalingList().checkDefaultScalingList() == false )
+    if( aps.getScalingList().isNotDefaultScalingList() == false )
     {
       setUseScalingListId( SCALING_LIST_DEFAULT );
     }
@@ -577,7 +577,7 @@ void EncLib::xInitScalingLists(SPS &sps, PPS &pps)
       THROW( "parse scaling list");
     }
     sps.getScalingList().checkDcOfMatrix();
-    sps.setScalingListPresentFlag(sps.getScalingList().checkDefaultScalingList());
+    sps.setScalingListPresentFlag(sps.getScalingList().isNotDefaultScalingList());
     pps.setScalingListPresentFlag(false);
 
     quant->setScalingList(&(sps.getScalingList()), maxLog2TrDynamicRange, sps.getBitDepths());