diff --git a/vendor/magento/module-purchase-order/Model/Validator/ActionReady/PlaceOrderValidator.php b/vendor/magento/module-purchase-order/Model/Validator/ActionReady/PlaceOrderValidator.php
index 69e1169e080c..d3b0cbe8bd9f 100644
--- a/vendor/magento/module-purchase-order/Model/Validator/ActionReady/PlaceOrderValidator.php
+++ b/vendor/magento/module-purchase-order/Model/Validator/ActionReady/PlaceOrderValidator.php
@@ -20,6 +20,7 @@ class PlaceOrderValidator implements ValidatorInterface
     public function validate(PurchaseOrderInterface $purchaseOrder): bool
     {
         $status = $purchaseOrder->getStatus();
+        $quote = $purchaseOrder->getSnapshotQuote();
         $placeOrderStatuses = [
             PurchaseOrderInterface::STATUS_APPROVED,
             PurchaseOrderInterface::STATUS_ORDER_FAILED
@@ -27,6 +28,7 @@ public function validate(PurchaseOrderInterface $purchaseOrder): bool
         if (!in_array($status, $placeOrderStatuses)
             || (null != $purchaseOrder->getOrderId())
             || !$purchaseOrder->getQuoteId()
+            || $quote->getHasError()
         ) {
             return false;
         }
diff --git a/vendor/magento/module-purchase-order/view/frontend/templates/purchaseorder/view/info/buttons.phtml b/vendor/magento/module-purchase-order/view/frontend/templates/purchaseorder/view/info/buttons.phtml
index 6310f5164a92..e6dbcaa6d86b 100644
--- a/vendor/magento/module-purchase-order/view/frontend/templates/purchaseorder/view/info/buttons.phtml
+++ b/vendor/magento/module-purchase-order/view/frontend/templates/purchaseorder/view/info/buttons.phtml
@@ -47,9 +47,11 @@
                 <?php if ($block->paymentRequired()): ?>
                 <input type="hidden" name="payment_redirect" value="1">
                 <?php endif; ?>
+                <?php if (!$block->hasError()): ?>
                 <button type="submit" class="action placeorder primary">
                     <span><?= $escaper->escapeHtml(__('Place Order')) ?></span>
                 </button>
+                <?php endif; ?>
             </form>
         <?php endif; ?>
 
