diff --git a/commerce_currency_resolver.module b/commerce_currency_resolver.module
index 25626eb..f0d3d54 100644
--- a/commerce_currency_resolver.module
+++ b/commerce_currency_resolver.module
@@ -5,6 +5,7 @@
  * Main module file.
  */
 
+use Drupal\commerce_currency_resolver\Plugin\Commerce\Condition\OrderAdjustedTotalPrice;
 use Drupal\Core\Routing\RouteMatchInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\commerce_currency_resolver\Plugin\Commerce\PromotionOffer\OrderItemFixedAmountOff;
@@ -40,6 +41,7 @@ function commerce_currency_resolver_commerce_promotion_offer_info_alter(array &$
  */
 function commerce_currency_resolver_commerce_condition_info_alter(array &$definitions) {
   $definitions['order_total_price']['class'] = OrderTotalPrice::class;
+  $definitions['order_adjusted_total_price']['class'] = OrderAdjustedTotalPrice::class;
 }
 
 /**
diff --git a/src/Plugin/Commerce/Condition/OrderAdjustedTotalPrice.php b/src/Plugin/Commerce/Condition/OrderAdjustedTotalPrice.php
new file mode 100644
index 0000000..7886151
--- /dev/null
+++ b/src/Plugin/Commerce/Condition/OrderAdjustedTotalPrice.php
@@ -0,0 +1,67 @@
+<?php
+
+namespace Drupal\commerce_currency_resolver\Plugin\Commerce\Condition;
+
+use Drupal\commerce_currency_resolver\Plugin\Commerce\CommerceCurrencyResolverAmountTrait;
+use Drupal\Core\Entity\EntityInterface;
+use Drupal\commerce_price\Price;
+use Drupal\commerce_order\Plugin\Commerce\Condition\OrderAdjustedTotalPrice as CommerceOrderAdjustedTotalPrice;
+
+/**
+ * Provides the total price condition for orders.
+ *
+ * @see \Drupal\commerce_order\Plugin\Commerce\Condition\OrderAdjustedTotalPrice
+ */
+class OrderAdjustedTotalPrice extends CommerceOrderAdjustedTotalPrice {
+
+  use CommerceCurrencyResolverAmountTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function evaluate(EntityInterface $entity) {
+    // Nothing to do. Go to parent.
+    if (!$this->shouldCurrencyRefresh($this->configuration['amount']['currency_code'])) {
+      return parent::evaluate($entity);
+    }
+
+    $this->assertEntity($entity);
+    /** @var \Drupal\commerce_order\Entity\OrderInterface $order */
+    $order = $entity;
+    $total_price = $order->getTotalPrice();
+
+    if (!$total_price) {
+      return FALSE;
+    }
+
+    // Subtract selected adjustments.
+    $adjustments = $order->collectAdjustments(array_filter($this->configuration['adjustment_types']));
+    foreach ($adjustments as $adjustment) {
+      $total_price = $total_price->subtract($adjustment->getAmount());
+    }
+
+    $original_condition_price = Price::fromArray($this->configuration['amount']);
+    $condition_price = $this->getPrice($original_condition_price);
+
+    switch ($this->configuration['operator']) {
+      case '>=':
+        return $total_price->greaterThanOrEqual($condition_price);
+
+      case '>':
+        return $total_price->greaterThan($condition_price);
+
+      case '<=':
+        return $total_price->lessThanOrEqual($condition_price);
+
+      case '<':
+        return $total_price->lessThan($condition_price);
+
+      case '==':
+        return $total_price->equals($condition_price);
+
+      default:
+        throw new \InvalidArgumentException("Invalid operator {$this->configuration['operator']}");
+    }
+  }
+
+}
