diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp
index c669f359f7c322f120b8559c4f639cff62b37bf2..022c325d9f9308287ef62d7f5fe872cca1e9ce53 100644
--- a/source/Lib/EncoderLib/EncGOP.cpp
+++ b/source/Lib/EncoderLib/EncGOP.cpp
@@ -6251,7 +6251,7 @@ void EncGOP::applyDeblockingFilterParameterSelection( Picture* pcPic, const uint
     for (int i=0; i<numSlices; i++)
     {
       Slice* pcSlice = pcPic->slices[i];
-      pcSlice->setDeblockingFilterOverrideFlag( true);
+      pcSlice->setDeblockingFilterOverrideFlag(!pcPPS->getPPSDeblockingFilterDisabledFlag());
       pcSlice->setDeblockingFilterDisable     ( true);
     }
   }
diff --git a/source/Lib/EncoderLib/EncSlice.cpp b/source/Lib/EncoderLib/EncSlice.cpp
index 49fe934b08be498cb3f5f3ef76210e08339e4ae3..c335a89fbccb067b4969ac8f5c6afac61fd2b386 100644
--- a/source/Lib/EncoderLib/EncSlice.cpp
+++ b/source/Lib/EncoderLib/EncSlice.cpp
@@ -680,7 +680,7 @@ void EncSlice::initEncSlice(Picture *pcPic, const int pocLast, const int pocCurr
   }
   else if (rpcSlice->getPPS()->getDeblockingFilterControlPresentFlag())
   {
-    rpcSlice->setDeblockingFilterOverrideFlag( rpcSlice->getPPS()->getDeblockingFilterOverrideEnabledFlag() );
+    rpcSlice->setDeblockingFilterOverrideFlag(rpcSlice->getPPS()->getDeblockingFilterOverrideEnabledFlag() && !rpcSlice->getPPS()->getPPSDeblockingFilterDisabledFlag());
     rpcSlice->setDeblockingFilterDisable( rpcSlice->getPPS()->getPPSDeblockingFilterDisabledFlag() );
     if ( !rpcSlice->getDeblockingFilterDisable())
     {