diff --git a/app/code/Magento/Developer/Model/Logger/Handler/Debug.php b/app/code/Magento/Developer/Model/Logger/Handler/Debug.php
index e05f008f70aa80a47f2eb8a6094d0f2ca3292671..cdf2403fa40a861a68b09b1112cd8885011ea92f 100644
--- a/app/code/Magento/Developer/Model/Logger/Handler/Debug.php
+++ b/app/code/Magento/Developer/Model/Logger/Handler/Debug.php
@@ -9,6 +9,7 @@ use Magento\Framework\App\Config\ScopeConfigInterface;
 use Magento\Framework\App\State;
 use Magento\Framework\Filesystem\DriverInterface;
 use Magento\Store\Model\ScopeInterface;
+use Magento\Framework\App\DeploymentConfig;
 
 /**
  * Class Debug
@@ -25,22 +26,30 @@ class Debug extends \Magento\Framework\Logger\Handler\Debug
      */
     private $scopeConfig;
 
+    /**
+     * @var DeploymentConfig
+     */
+    private $deploymentConfig;
+
     /**
      * @param DriverInterface $filesystem
      * @param State $state
      * @param ScopeConfigInterface $scopeConfig
+     * @param DeploymentConfig $deploymentConfig
      * @param string $filePath
      */
     public function __construct(
         DriverInterface $filesystem,
         State $state,
         ScopeConfigInterface $scopeConfig,
+        DeploymentConfig $deploymentConfig,
         $filePath = null
     ) {
         parent::__construct($filesystem, $filePath);
 
         $this->state = $state;
         $this->scopeConfig = $scopeConfig;
+        $this->deploymentConfig = $deploymentConfig;
     }
 
     /**
@@ -48,9 +57,13 @@ class Debug extends \Magento\Framework\Logger\Handler\Debug
      */
     public function isHandling(array $record)
     {
-        return
-            parent::isHandling($record)
-            && $this->state->getMode() !== State::MODE_PRODUCTION
-            && $this->scopeConfig->getValue('dev/debug/debug_logging', ScopeInterface::SCOPE_STORE);
+        if ($this->deploymentConfig->isAvailable()) {
+            return
+                parent::isHandling($record)
+                && $this->state->getMode() !== State::MODE_PRODUCTION
+                && $this->scopeConfig->getValue('dev/debug/debug_logging', ScopeInterface::SCOPE_STORE);
+        }
+
+        return parent::isHandling($record);
     }
-}
\ No newline at end of file
+}
diff --git a/app/code/Magento/Developer/Test/Unit/Model/Logger/Handler/DebugTest.php b/app/code/Magento/Developer/Test/Unit/Model/Logger/Handler/DebugTest.php
index 7eae4020e676884a4710549c959b8f774efe9e14..e539e6b1772b87182ee4c5bb763d262ca60386b8 100644
--- a/app/code/Magento/Developer/Test/Unit/Model/Logger/Handler/DebugTest.php
+++ b/app/code/Magento/Developer/Test/Unit/Model/Logger/Handler/DebugTest.php
@@ -13,9 +13,11 @@ use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
 use Magento\Store\Model\ScopeInterface;
 use Monolog\Formatter\FormatterInterface;
 use Monolog\Logger;
+use Magento\Framework\App\DeploymentConfig;
 
 /**
  * Class DebugTest
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
 class DebugTest extends \PHPUnit_Framework_TestCase
 {
@@ -44,6 +46,11 @@ class DebugTest extends \PHPUnit_Framework_TestCase
      */
     private $formatterMock;
 
+    /**
+     * @var DeploymentConfig|\PHPUnit_Framework_MockObject_MockObject
+     */
+    private $deploymentConfigMock;
+
     protected function setUp()
     {
         $this->filesystemMock = $this->getMockBuilder(DriverInterface::class)
@@ -55,6 +62,10 @@ class DebugTest extends \PHPUnit_Framework_TestCase
             ->getMockForAbstractClass();
         $this->formatterMock = $this->getMockBuilder(FormatterInterface::class)
             ->getMockForAbstractClass();
+        $this->deploymentConfigMock = $this->getMockBuilder(DeploymentConfig::class)
+            ->disableOriginalConstructor()
+            ->disableOriginalClone()
+            ->getMock();
 
         $this->formatterMock->expects($this->any())
             ->method('format')
@@ -64,12 +75,16 @@ class DebugTest extends \PHPUnit_Framework_TestCase
             'filesystem' => $this->filesystemMock,
             'state' => $this->stateMock,
             'scopeConfig' => $this->scopeConfigMock,
+            'deploymentConfig' => $this->deploymentConfigMock
         ]);
         $this->model->setFormatter($this->formatterMock);
     }
 
     public function testHandle()
     {
+        $this->deploymentConfigMock->expects($this->once())
+            ->method('isAvailable')
+            ->willReturn(true);
         $this->stateMock->expects($this->once())
             ->method('getMode')
             ->willReturn(State::MODE_DEVELOPER);
@@ -78,22 +93,28 @@ class DebugTest extends \PHPUnit_Framework_TestCase
             ->with('dev/debug/debug_logging', ScopeInterface::SCOPE_STORE, null)
             ->willReturn(true);
 
-        $this->model->handle(['formatted' => false, 'level' => Logger::DEBUG]);
+        $this->assertTrue($this->model->isHandling(['formatted' => false, 'level' => Logger::DEBUG]));
     }
 
     public function testHandleDisabledByProduction()
     {
+        $this->deploymentConfigMock->expects($this->once())
+            ->method('isAvailable')
+            ->willReturn(true);
         $this->stateMock->expects($this->once())
             ->method('getMode')
             ->willReturn(State::MODE_PRODUCTION);
         $this->scopeConfigMock->expects($this->never())
             ->method('getValue');
 
-        $this->model->handle(['formatted' => false, 'level' => Logger::DEBUG]);
+        $this->assertFalse($this->model->isHandling(['formatted' => false, 'level' => Logger::DEBUG]));
     }
 
     public function testHandleDisabledByConfig()
     {
+        $this->deploymentConfigMock->expects($this->once())
+            ->method('isAvailable')
+            ->willReturn(true);
         $this->stateMock->expects($this->once())
             ->method('getMode')
             ->willReturn(State::MODE_DEVELOPER);
@@ -102,16 +123,32 @@ class DebugTest extends \PHPUnit_Framework_TestCase
             ->with('dev/debug/debug_logging', ScopeInterface::SCOPE_STORE, null)
             ->willReturn(false);
 
-        $this->model->handle(['formatted' => false, 'level' => Logger::DEBUG]);
+        $this->assertFalse($this->model->isHandling(['formatted' => false, 'level' => Logger::DEBUG]));
     }
 
     public function testHandleDisabledByLevel()
     {
+        $this->deploymentConfigMock->expects($this->once())
+            ->method('isAvailable')
+            ->willReturn(true);
+        $this->stateMock->expects($this->never())
+            ->method('getMode');
+        $this->scopeConfigMock->expects($this->never())
+            ->method('getValue');
+
+        $this->assertFalse($this->model->isHandling(['formatted' => false, 'level' => Logger::API]));
+    }
+
+    public function testDeploymentConfigIsNotAvailable()
+    {
+        $this->deploymentConfigMock->expects($this->once())
+            ->method('isAvailable')
+            ->willReturn(false);
         $this->stateMock->expects($this->never())
             ->method('getMode');
         $this->scopeConfigMock->expects($this->never())
             ->method('getValue');
 
-        $this->model->handle(['formatted' => false, 'level' => Logger::API]);
+        $this->assertTrue($this->model->isHandling(['formatted' => false, 'level' => Logger::DEBUG]));
     }
 }