diff --git a/app/code/Magento/Store/App/FrontController/Plugin/RequestPreprocessor.php b/app/code/Magento/Store/App/FrontController/Plugin/RequestPreprocessor.php
index 57307c083d01246894146ce4e3aa865a172bee20..4d5e21f50edd3273c794c866c5e86d6ebfc8f679 100644
--- a/app/code/Magento/Store/App/FrontController/Plugin/RequestPreprocessor.php
+++ b/app/code/Magento/Store/App/FrontController/Plugin/RequestPreprocessor.php
@@ -79,6 +79,7 @@ class RequestPreprocessor
 
                     $response = $this->_responseFactory->create();
                     $response->setRedirect($redirectUrl, $redirectCode);
+                    $response->setNoCacheHeaders();
                     return $response;
                 }
             }
diff --git a/app/code/Magento/Store/Model/Store.php b/app/code/Magento/Store/Model/Store.php
index 7dbf046110e38000509cbd55318a57efbc1b80f0..1da41cae73e20593dcdc498b6b4a1bc94bb5a0b6 100644
--- a/app/code/Magento/Store/Model/Store.php
+++ b/app/code/Magento/Store/Model/Store.php
@@ -755,7 +755,12 @@ class Store extends AbstractModel implements
             \Magento\Store\Model\ScopeInterface::SCOPE_STORE
         );
 
-        if (!$secureBaseUrl) {
+        if (!$secureBaseUrl ||
+            !$this->_config->getValue(
+                self::XML_PATH_SECURE_IN_FRONTEND,
+                \Magento\Store\Model\ScopeInterface::SCOPE_STORE
+            )
+        ) {
             return false;
         }
 
diff --git a/app/code/Magento/Store/Test/Unit/Model/StoreTest.php b/app/code/Magento/Store/Test/Unit/Model/StoreTest.php
index c43af1f004dfe6972d9521e3d49bd6474fb99a4b..e9a6f8ecf7207c03889a4043d02168d18e6e5b72 100644
--- a/app/code/Magento/Store/Test/Unit/Model/StoreTest.php
+++ b/app/code/Magento/Store/Test/Unit/Model/StoreTest.php
@@ -546,12 +546,15 @@ class StoreTest extends \PHPUnit_Framework_TestCase
      *
      * @param bool $expected
      * @param array $value
+     * @param bool $requestSecure
+     * @param bool $useSecureInFrontend
      * @param string|null $secureBaseUrl
      */
     public function testIsCurrentlySecure(
         $expected,
         $value,
         $requestSecure = false,
+        $useSecureInFrontend = true,
         $secureBaseUrl = 'https://example.com:443'
     ) {
         /* @var ReinitableConfigInterface|PHPUnit_Framework_MockObject_MockObject $configMock */
@@ -565,6 +568,12 @@ class StoreTest extends \PHPUnit_Framework_TestCase
                             null,
                             $secureBaseUrl
                         ],
+                        [
+                            Store::XML_PATH_SECURE_IN_FRONTEND,
+                            ScopeInterface::SCOPE_STORE,
+                            null,
+                            $useSecureInFrontend
+                        ]
                     ]));
 
         $this->requestMock->expects($this->any())
@@ -594,8 +603,12 @@ class StoreTest extends \PHPUnit_Framework_TestCase
         return [
             'secure request, no server setting' => [true, [], true],
             'unsecure request, using registered port' => [true, 443],
-            'unsecure request, no secure base url registered' => [false, 443, false, null],
+            'unsecure request, no secure base url registered' => [false, 443, false, true, null],
             'unsecure request, not using registered port' => [false, 80],
+            'unsecure request, using registered port, not using secure in frontend' => [false, 443, false, false],
+            'unsecure request, no secure base url registered, not using secure in frontend' =>
+                [false, 443, false, false, null],
+            'unsecure request, not using registered port, not using secure in frontend' => [false, 80, false, false],
         ];
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Store/Model/StoreTest.php b/dev/tests/integration/testsuite/Magento/Store/Model/StoreTest.php
index 8fbdd0f346d4b0c410bd35387dd45564504b61f8..a84b46c3c2981e420d24a251db6a0b46cc332eee 100644
--- a/dev/tests/integration/testsuite/Magento/Store/Model/StoreTest.php
+++ b/dev/tests/integration/testsuite/Magento/Store/Model/StoreTest.php
@@ -451,7 +451,8 @@ class StoreTest extends \PHPUnit_Framework_TestCase
             [true, ['HTTPS' => 'on']],
             [true, ['SSL_OFFLOADED' => 'https']],
             [true, ['HTTP_SSL_OFFLOADED' => 'https']],
-            [true, ['SERVER_PORT' => 80]],
+            [true, ['HTTPS' => 'on', 'SERVER_PORT' => 80]],
+            [false, ['SERVER_PORT' => 80]],
             [false, []],
         ];
     }