diff --git a/vendor/magento/module-paypal/Block/Express/InContext/SmartButton.php b/vendor/magento/module-paypal/Block/Express/InContext/SmartButton.php
index 6d355038cff1..9ee7b118f881 100644
--- a/vendor/magento/module-paypal/Block/Express/InContext/SmartButton.php
+++ b/vendor/magento/module-paypal/Block/Express/InContext/SmartButton.php
@@ -7,6 +7,9 @@
 
 namespace Magento\Paypal\Block\Express\InContext;
 
+use Magento\Framework\App\ObjectManager;
+use Magento\Framework\Exception\LocalizedException;
+use Magento\Payment\Helper\Data as PaymentData;
 use Magento\Paypal\Model\Config;
 use Magento\Paypal\Model\ConfigFactory;
 use Magento\Framework\View\Element\Template;
@@ -43,6 +46,11 @@ class SmartButton extends Template implements ShortcutInterface
      */
     private $urlBuilder;
 
+    /**
+     * @var PaymentData
+     */
+    private $paymentData;
+
     /**
      * @param Context $context
      * @param ConfigFactory $configFactory
@@ -50,6 +58,7 @@ class SmartButton extends Template implements ShortcutInterface
      * @param SmartButtonConfig $smartButtonConfig
      * @param UrlInterface $urlBuilder
      * @param array $data
+     * @param PaymentData|null $paymentData
      */
     public function __construct(
         Context $context,
@@ -57,7 +66,8 @@ public function __construct(
         SerializerInterface $serializer,
         SmartButtonConfig $smartButtonConfig,
         UrlInterface $urlBuilder,
-        array $data = []
+        array $data = [],
+        PaymentData $paymentData = null,
     ) {
         parent::__construct($context, $data);
 
@@ -66,19 +76,22 @@ public function __construct(
         $this->serializer = $serializer;
         $this->smartButtonConfig = $smartButtonConfig;
         $this->urlBuilder = $urlBuilder;
+        $this->paymentData = $paymentData ?? ObjectManager::getInstance()->get(PaymentData::class);
     }
 
     /**
      * Check is Paypal In-Context Express Checkout button should render in cart/mini-cart
      *
      * @return bool
+     * @throws LocalizedException
      */
     private function shouldRender(): bool
     {
         $isInCatalog = $this->getIsInCatalogProduct();
         $isInContext = (bool)(int) $this->config->getValue('in_context');
+        $methodInstance = $this->paymentData->getMethodInstance(Config::METHOD_EXPRESS);
 
-        return ($isInContext && $isInCatalog);
+        return ($isInContext && $isInCatalog && $methodInstance->isAvailable());
     }
 
     /**
