diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery/Content.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery/Content.php
index f61f9071155aa915d3d06e4ef66fa0de29fa100f..262ba8cccc27e0e8ee179dc64ae59e0366c9e21f 100644
--- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery/Content.php
+++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery/Content.php
@@ -16,6 +16,7 @@ namespace Magento\Catalog\Block\Adminhtml\Product\Helper\Form\Gallery;
 use Magento\Backend\Block\Media\Uploader;
 use Magento\Framework\View\Element\AbstractBlock;
 use Magento\Framework\App\Filesystem\DirectoryList;
+use Magento\Framework\Exception\FileSystemException;
 
 class Content extends \Magento\Backend\Block\Widget
 {
@@ -34,6 +35,16 @@ class Content extends \Magento\Backend\Block\Widget
      */
     protected $_jsonEncoder;
 
+    /**
+     * @var \Magento\Catalog\Helper\Image
+     */
+    private $imageHelper;
+
+    /**
+     * @var \Magento\Framework\View\Asset\Repository
+     */
+    private $assetRepo;
+
     /**
      * @param \Magento\Backend\Block\Template\Context $context
      * @param \Magento\Framework\Json\EncoderInterface $jsonEncoder
@@ -128,12 +139,22 @@ class Content extends \Magento\Backend\Block\Widget
             is_array($value['images']) &&
             count($value['images'])
         ) {
-            $directory = $this->_filesystem->getDirectoryRead(DirectoryList::MEDIA);
+            $mediaDir = $this->_filesystem->getDirectoryRead(DirectoryList::MEDIA);            
             $images = $this->sortImagesByPosition($value['images']);
             foreach ($images as &$image) {
                 $image['url'] = $this->_mediaConfig->getMediaUrl($image['file']);
-                $fileHandler = $directory->stat($this->_mediaConfig->getMediaPath($image['file']));
-                $image['size'] = $fileHandler['size'];
+                try {
+                    $fileHandler = $mediaDir->stat($this->_mediaConfig->getMediaPath($image['file']));
+                    $image['size'] = $fileHandler['size'];
+                } catch (FileSystemException $e) {
+                    $staticDir = $this->_filesystem->getDirectoryRead(DirectoryList::STATIC_VIEW);
+                    $image['url'] = $this->getImageHelper()->getDefaultPlaceholderUrl('thumbnail');
+                    $fileHandler = $staticDir->stat(
+                        $this->getAssetRepo()->createAsset($this->getImageHelper()->getPlaceholder('thumbnail'))->getPath()
+                    );
+                    $image['size'] = $fileHandler['size'];
+                    $this->_logger->warning($e);
+                }
             }
             return $this->_jsonEncoder->encode($images);
         }
@@ -227,4 +248,31 @@ class Content extends \Magento\Backend\Block\Widget
     {
         return $this->_jsonEncoder->encode($this->getImageTypes());
     }
+
+    /**
+     * @return \Magento\Catalog\Helper\Image
+     * @deprecated
+     */
+    private function getImageHelper()
+    {
+        if ($this->imageHelper === null) {
+            $this->imageHelper = \Magento\Framework\App\ObjectManager::getInstance()
+                ->get('Magento\Catalog\Helper\Image');
+        }
+        return $this->imageHelper;
+    }
+
+    /**
+     * @return \Magento\Framework\View\Asset\Repository
+     * @deprecated
+     */
+    private function getAssetRepo()
+    {
+        if ($this->assetRepo === null) {
+            $this->assetRepo = \Magento\Framework\App\ObjectManager::getInstance()
+                ->get('\Magento\Framework\View\Asset\Repository');
+        }
+
+        return $this->assetRepo;
+    }
 }
diff --git a/app/code/Magento/Catalog/Test/Unit/Block/Adminhtml/Product/Helper/Form/Gallery/ContentTest.php b/app/code/Magento/Catalog/Test/Unit/Block/Adminhtml/Product/Helper/Form/Gallery/ContentTest.php
index 72a25933efa0be60c575128021c0a1816b4bfbe2..33faf5963c91014fa1bd7be34cf2dd961a87fe34 100644
--- a/app/code/Magento/Catalog/Test/Unit/Block/Adminhtml/Product/Helper/Form/Gallery/ContentTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Block/Adminhtml/Product/Helper/Form/Gallery/ContentTest.php
@@ -7,6 +7,7 @@ namespace Magento\Catalog\Test\Unit\Block\Adminhtml\Product\Helper\Form\Gallery;
 
 use Magento\Framework\Filesystem;
 use Magento\Catalog\Block\Adminhtml\Product\Helper\Form\Gallery\Content;
+use Magento\Framework\Phrase;
 
 class ContentTest extends \PHPUnit_Framework_TestCase
 {
@@ -40,6 +41,16 @@ class ContentTest extends \PHPUnit_Framework_TestCase
      */
     protected $galleryMock;
 
+    /**
+     * @var \Magento\Catalog\Helper\Image|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $imageHelper;
+
+    /**
+     * @var \Magento\Framework\View\Asset\Repository|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $assetRepo;
+
     /**
      * @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
      */
@@ -47,7 +58,13 @@ class ContentTest extends \PHPUnit_Framework_TestCase
 
     public function setUp()
     {
-        $this->fileSystemMock = $this->getMock('Magento\Framework\Filesystem', [], [], '', false);
+        $this->fileSystemMock = $this->getMock(
+            'Magento\Framework\Filesystem',
+            ['stat', 'getDirectoryRead'],
+            [],
+            '',
+            false
+        );
         $this->readMock = $this->getMock('Magento\Framework\Filesystem\Directory\ReadInterface');
         $this->galleryMock = $this->getMock(
             'Magento\Catalog\Block\Adminhtml\Product\Helper\Form\Gallery',
@@ -56,7 +73,13 @@ class ContentTest extends \PHPUnit_Framework_TestCase
             '',
             false
         );
-        $this->mediaConfigMock = $this->getMock('Magento\Catalog\Model\Product\Media\Config', [], [], '', false);
+        $this->mediaConfigMock = $this->getMock(
+            'Magento\Catalog\Model\Product\Media\Config',
+            ['getMediaUrl', 'getMediaPath'],
+            [],
+            '',
+            false
+        );
         $this->jsonEncoderMock = $this->getMockBuilder('Magento\Framework\Json\EncoderInterface')
             ->disableOriginalConstructor()
             ->getMock();
@@ -130,7 +153,6 @@ class ContentTest extends \PHPUnit_Framework_TestCase
 
         $this->mediaConfigMock->expects($this->any())->method('getMediaUrl')->willReturnMap($url);
         $this->mediaConfigMock->expects($this->any())->method('getMediaPath')->willReturnMap($mediaPath);
-
         $this->readMock->expects($this->any())->method('stat')->willReturnMap($sizeMap);
         $this->jsonEncoderMock->expects($this->once())->method('encode')->willReturnCallback('json_encode');
 
@@ -144,4 +166,92 @@ class ContentTest extends \PHPUnit_Framework_TestCase
 
         $this->assertSame('[]', $this->content->getImagesJson());
     }
+
+    public function testGetImagesJsonWithException()
+    {
+        $this->imageHelper = $this->getMockBuilder('Magento\Catalog\Helper\Image')
+            ->disableOriginalConstructor()
+            ->setMethods(['getDefaultPlaceholderUrl', 'getPlaceholder'])
+            ->getMock();
+
+        $this->assetRepo = $this->getMockBuilder('Magento\Framework\View\Asset\Repository')
+            ->disableOriginalConstructor()
+            ->setMethods(['createAsset', 'getPath'])
+            ->getMock();
+        
+        $this->objectManager->setBackwardCompatibleProperty(
+            $this->content,
+            'imageHelper',
+            $this->imageHelper          
+        );
+
+        $this->objectManager->setBackwardCompatibleProperty(
+            $this->content,
+            'assetRepo',
+            $this->assetRepo
+        );
+
+        $placeholderUrl = 'url_to_the_placeholder/placeholder.jpg';
+
+        $sizePlaceholder = ['size' => 399659];
+
+        $imagesResult = [
+            [
+                'value_id' => '2',
+                'file' => 'file_2.jpg',
+                'media_type' => 'image',
+                'position' => '0',
+                'url' => 'url_to_the_placeholder/placeholder.jpg',
+                'size' => 399659
+            ],
+            [
+                'value_id' => '1',
+                'file' => 'file_1.jpg',
+                'media_type' => 'image',
+                'position' => '1',
+                'url' => 'url_to_the_placeholder/placeholder.jpg',
+                'size' => 399659
+            ]
+        ];
+
+        $images = [
+            'images' => [
+                [
+                    'value_id' => '1',
+                    'file' => 'file_1.jpg',
+                    'media_type' => 'image',
+                    'position' => '1'
+                ],
+                [
+                    'value_id' => '2',
+                    'file' => 'file_2.jpg',
+                    'media_type' => 'image',
+                    'position' => '0'
+                ]
+            ]
+        ];
+
+        $this->content->setElement($this->galleryMock);
+        $this->galleryMock->expects($this->once())->method('getImages')->willReturn($images);
+        $this->fileSystemMock->expects($this->any())->method('getDirectoryRead')->willReturn($this->readMock);
+        $this->mediaConfigMock->expects($this->any())->method('getMediaUrl');
+        $this->mediaConfigMock->expects($this->any())->method('getMediaPath');
+        $this->readMock->expects($this->any())->method('stat')->willReturnOnConsecutiveCalls(
+            $this->throwException(
+                new \Magento\Framework\Exception\FileSystemException(new \Magento\Framework\Phrase('test'))
+            ),
+            $sizePlaceholder,
+            $this->throwException(
+                new \Magento\Framework\Exception\FileSystemException(new \Magento\Framework\Phrase('test'))
+                        ),
+            $sizePlaceholder
+        );
+        $this->imageHelper->expects($this->any())->method('getDefaultPlaceholderUrl')->willReturn($placeholderUrl);
+        $this->imageHelper->expects($this->any())->method('getPlaceholder');
+        $this->assetRepo->expects($this->any())->method('createAsset')->willReturnSelf();
+        $this->assetRepo->expects($this->any())->method('getPath');
+        $this->jsonEncoderMock->expects($this->once())->method('encode')->willReturnCallback('json_encode');
+
+        $this->assertSame(json_encode($imagesResult), $this->content->getImagesJson());
+        }
 }