diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/payment.js b/app/code/Magento/Checkout/view/frontend/web/js/view/payment.js
index c17e5e40d5c9859f98fe3aceae77fb2e772e3236..94ccf7a24f384cd53955e73dd8709d93cadc7c08 100644
--- a/app/code/Magento/Checkout/view/frontend/web/js/view/payment.js
+++ b/app/code/Magento/Checkout/view/frontend/web/js/view/payment.js
@@ -46,8 +46,18 @@ define([
 
         /** @inheritdoc */
         initialize: function () {
+            var self = this;
             this._super();
             checkoutDataResolver.resolvePaymentMethod();
+
+            //If some step is active this step will become inactive.
+            stepNavigator.steps().some(function (element) {
+                if (element.isVisible()) {
+                    self.isVisible(false);
+                    return true;
+                }
+            });
+
             stepNavigator.registerStep(
                 'payment',
                 null,
diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/shipping.js b/app/code/Magento/Checkout/view/frontend/web/js/view/shipping.js
index 619de95e467f03a06f0c71978cdf991bd2f35766..a6e7e3efd3d2ee49f318dcd2cc2d467a80584d0c 100644
--- a/app/code/Magento/Checkout/view/frontend/web/js/view/shipping.js
+++ b/app/code/Magento/Checkout/view/frontend/web/js/view/shipping.js
@@ -82,6 +82,14 @@ define([
             this._super();
 
             if (!quote.isVirtual()) {
+                //If some step is active this step will become inactive.
+                stepNavigator.steps().some(function (element) {
+                    if (element.isVisible()) {
+                        self.visible(false);
+                        return true;
+                    }
+                });
+
                 stepNavigator.registerStep(
                     'shipping',
                     '',